AlcorDocs

Market Data

Spot markets and AMM pairs: tickers, order books, trades and candles.

Alcor has two venues: spot order book markets and AMM pools. Both are described with the same ticker format.

A token id is <symbol>-<contract> in lower case, because any contract can issue a token with any symbol. A ticker id joins two token ids, base first: <base>_<target>, e.g. tlm-alien.worlds_wax-eosio.token. Prices are in target per one base.

The spot endpoints and the AMM feed follow the CoinGecko and CoinMarketCap DEX integration format, so they can be read by the same code.

Pairs

All spot markets.

GET https://wax.alcor.exchange/api/v2/pairs

Parameters

NameTypeRequiredDescription
basestringnoOnly markets with this base token id
targetstringnoOnly markets with this target token id

Example

curl "https://wax.alcor.exchange/api/v2/pairs?base=tlm-alien.worlds&target=wax-eosio.token"
[
  {
    "base": { "id": "tlm-alien.worlds", "contract": "alien.worlds", "symbol": "TLM", "precision": 4 },
    "target": { "id": "wax-eosio.token", "contract": "eosio.token", "symbol": "WAX", "precision": 8 },
    "ticker_id": "tlm-alien.worlds_wax-eosio.token"
  }
]

Response fields

NameTypeDescription
ticker_idstringTicker id, <base>_<target>
base, targetobjectThe tokens: id, contract, symbol, precision

Tickers

Price and 24-hour volume of every spot market.

GET https://wax.alcor.exchange/api/v2/tickers

Parameters

NameTypeRequiredDescription
hide_scambooleannotrue leaves out markets with a token on the scam lists

Example

curl "https://wax.alcor.exchange/api/v2/tickers?hide_scam=true"

Answers an array of tickers, as in Ticker.

Ticker

Price and 24-hour volume of one spot market.

GET https://wax.alcor.exchange/api/v2/tickers/<ticker_id>

Parameters

NameTypeRequiredDescription
ticker_idstringyesTicker id, in the path

Example

curl https://wax.alcor.exchange/api/v2/tickers/tlm-alien.worlds_wax-eosio.token
{
  "ticker_id": "tlm-alien.worlds_wax-eosio.token",
  "market_id": 26,
  "pool_id": "26",
  "base_currency": "tlm-alien.worlds",
  "target_currency": "wax-eosio.token",
  "base_cmc_ucid": 9119,
  "target_cmc_ucid": 2300,
  "global_ticker_id": "TLM-WAX",
  "last_price": 0.247012,
  "change24": -1.69,
  "high24": 0.25251933,
  "low24": 0.247012,
  "high": 0.25251933,
  "low": 0.247012,
  "bid": 0.247012,
  "ask": 0.251,
  "base_volume": 1207270.74,
  "target_volume": 301555.69152662,
  "volumeUSD24": 2146.47,
  "volume90d": 10404146.15519762,
  "base_amm_liquidity": 3945319.8557,
  "target_amm_liquidity": 902460.1896641699,
  "min_buy": 0.5,
  "min_sell": 1,
  "frozen": false,
  "fee": 20,
  "trade_url": "https://alcor.exchange/v/wax/spot/tlm-alien.worlds_wax-eosio.token"
}

An unknown ticker answers HTTP 404.

Response fields

NameTypeDescription
ticker_idstringTicker id
market_idnumberSpot market id on the DEX contract
pool_idstringThe same market id, as a string (CoinGecko field name)
base_currency, target_currencystringToken ids
base_cmc_ucid, target_cmc_ucidnumberCoinMarketCap ids, or null
global_ticker_idstringBASE-TARGET when CoinMarketCap lists both tokens, otherwise null
last_pricenumberPrice of the last trade
change24number24-hour price change, percent
high24, low24number24-hour price range
high, lownumberThe same range, null for a market that has not traded
bidnumberBest buy order price
asknumberBest sell order price
base_volume, target_volumenumber24-hour volume in each token, spot trades plus the AMM pools of the same pair
volumeUSD24number24-hour volume in USD, spot plus AMM
volume90dnumber90-day spot volume, in target
base_amm_liquidity, target_amm_liquiditynumberTokens held by the AMM pools of the same pair
min_buynumberSmallest buy order, in target
min_sellnumberSmallest sell order, in base
frozenbooleanTrading is frozen
feenumberMarket fee in hundredths of a percent: 20 is 0.2%
trade_urlstringMarket page on Alcor

Order book

Price levels of a spot market, best first.

GET https://wax.alcor.exchange/api/v2/tickers/<ticker_id>/orderbook

Parameters

NameTypeRequiredDescription
ticker_idstringyesTicker id, in the path
depthnumbernoPrice levels per side. Default 300

Example

curl "https://wax.alcor.exchange/api/v2/tickers/tlm-alien.worlds_wax-eosio.token/orderbook?depth=2"
{
  "ticker_id": "tlm-alien.worlds_wax-eosio.token",
  "timestamp": 1792068184805,
  "bids": [
    ["0.24701200", "14224.8352"],
    ["0.24625802", "500.0000"]
  ],
  "asks": [
    ["0.25100000", "154048.5865"],
    ["0.25150125", "116243.9926"]
  ]
}

Response fields

NameTypeDescription
ticker_idstringTicker id
timestampnumberServer time, unix milliseconds
bidsarrayBuy levels, highest price first: [price, quantity]
asksarraySell levels, lowest price first: [price, quantity]

Prices are in target per base, quantities in base. Orders at the same price are merged into one level.

Historical trades

The most recent trades of a spot market, oldest first.

GET https://wax.alcor.exchange/api/v2/tickers/<ticker_id>/historical_trades

Parameters

NameTypeRequiredDescription
ticker_idstringyesTicker id, in the path
typestringnobuy or sell
limitnumbernoNumber of trades. Default 200, maximum 1000; 0 returns the maximum
start_timenumbernoOnly trades at or after this time, unix seconds
end_timenumbernoOnly trades at or before this time, unix seconds

Example

curl "https://wax.alcor.exchange/api/v2/tickers/tlm-alien.worlds_wax-eosio.token/historical_trades?limit=2"
[
  {
    "trade_id": "6ad0881529945be352b4a651",
    "price": 0.25,
    "base_volume": 0.7387,
    "target_volume": 0.18465495,
    "trade_timestamp": 1792051221,
    "type": "sell",
    "trx_id": "996734af8d0c193c69940c745efa35fd34028f7b24461db7caf7507278ec2d92"
  }
]

Response fields

NameTypeDescription
trade_idstringTrade id
pricenumberTrade price, target per base
base_volumenumberAmount of base traded
target_volumenumberAmount of target traded
trade_timestampnumberTrade time, unix seconds
typestringbuy or sell, from the taker's side
trx_idstringTransaction id

Candles

OHLCV candles of a spot market, oldest first. Periods without trades are filled with flat candles at the last price.

GET https://wax.alcor.exchange/api/v2/tickers/<ticker_id>/charts

Parameters

NameTypeRequiredDescription
ticker_idstringyesTicker id, in the path
resolutionstringyesCandle size: 1, 5, 15, 30, 60, 240 (minutes), 1D, 1W, 1M
fromnumberyesStart time, unix milliseconds
tonumbernoEnd time, unix milliseconds
limitnumbernoMost candles to return. Maximum and default 5000

Example

curl "https://wax.alcor.exchange/api/v2/tickers/tlm-alien.worlds_wax-eosio.token/charts?resolution=60&from=1792057410000&to=1792068210000"
[
  { "time": 1792054800000, "open": 0.247012, "high": 0.247012, "low": 0.247012, "close": 0.247012, "volume": 0 },
  { "time": 1792058400000, "open": 0.247012, "high": 0.247012, "low": 0.247012, "close": 0.247012, "volume": 0.02573648 }
]

Response fields

NameTypeDescription
timenumberCandle start, unix milliseconds
open, high, low, closenumberPrices, target per base
volumenumberVolume in target

AMM pairs

Active AMM pools, one entry per pool. A pool's ticker id follows its token order, <tokenA>_<tokenB>, so pools of the same pair with different fees share a ticker id and are told apart by pool_id.

GET https://wax.alcor.exchange/api/v2/amm/pairs

Parameters

NameTypeRequiredDescription
min_liquidity_usdnumbernoOnly pools with at least this TVL, in USD
hide_scambooleannotrue leaves out pools with a token on the scam lists

Example

curl "https://wax.alcor.exchange/api/v2/amm/pairs?min_liquidity_usd=10000"
[
  {
    "ticker_id": "wax-eosio.token_nbg-gkniftyheads",
    "base": { "id": "wax-eosio.token", "contract": "eosio.token", "symbol": "WAX", "precision": 8 },
    "target": { "id": "nbg-gkniftyheads", "contract": "gkniftyheads", "symbol": "NBG", "precision": 8 },
    "pool_id": "9107"
  }
]

AMM tickers

Price, volume and liquidity of every active AMM pool, by TVL (highest first). Takes the same parameters as AMM pairs.

GET https://wax.alcor.exchange/api/v2/amm/tickers

Example

curl "https://wax.alcor.exchange/api/v2/amm/tickers?min_liquidity_usd=10000&hide_scam=true"
[
  {
    "ticker_id": "parausd-parareserves_usdt-wrap.alcor",
    "base_currency": "parausd-parareserves",
    "target_currency": "usdt-wrap.alcor",
    "base_cmc_ucid": null,
    "target_cmc_ucid": 825,
    "global_ticker_id": null,
    "pool_id": "12468",
    "last_price": 0.999038,
    "base_volume": 232.622545,
    "target_volume": 232.340836,
    "liquidity_in_usd": 99908.95,
    "high": null,
    "low": null,
    "volume_usd_24h": 232.36,
    "fee_percent": 0.05,
    "trade_url": "https://alcor.exchange/v/wax/swap/parausd-parareserves_usdt-wrap.alcor"
  }
]

Response fields

NameTypeDescription
ticker_idstring<tokenA>_<tokenB>
base_currency, target_currencystringToken ids of token A and token B
base_cmc_ucid, target_cmc_ucidnumberCoinMarketCap ids, or null
global_ticker_idstringBASE-TARGET when CoinMarketCap lists both tokens, otherwise null
pool_idstringPool id
last_pricenumberCurrent pool price, target per base
base_volume, target_volumenumber24-hour volume in each token
liquidity_in_usdnumberPool TVL in USD
high, lownumber24-hour price range, null when the pool has not traded
volume_usd_24hnumber24-hour volume in USD
fee_percentnumberPool fee, percent
trade_urlstringSwap page on Alcor

AMM historical trades

The most recent swaps of all active pools of one ticker, oldest first.

GET https://wax.alcor.exchange/api/v2/amm/historical_trades

Parameters

NameTypeRequiredDescription
ticker_idstringyes<tokenA>_<tokenB>, as in AMM pairs
typestringnobuy or sell, the base token's side
limitnumbernoNumber of trades. Default 200, maximum 1000; 0 returns the maximum
start_timenumbernoOnly trades at or after this time, unix seconds
end_timenumbernoOnly trades at or before this time, unix seconds

Example

curl "https://wax.alcor.exchange/api/v2/amm/historical_trades?ticker_id=wax-eosio.token_usdt-usdt.alcor&limit=1"
[
  {
    "trade_id": "110411821387",
    "ticker_id": "wax-eosio.token_usdt-usdt.alcor",
    "pool_id": "1095",
    "price": 0.004925598210938818,
    "base_volume": 87.80659353,
    "target_volume": 0.4325,
    "trade_timestamp": 1792065005,
    "type": "buy",
    "trx_id": "096bbefb42fe7e43580c68d05c02b95682b5c722b1fd01fb90fadf29e0abb90e"
  }
]

The fields are those of spot Historical trades, plus ticker_id and pool_id. trade_id is the swap action's global sequence. A ticker without an active pool answers HTTP 404.

On this page