API reference
Crypto and on-chain
Token details and risk flags, plus staking and lending yields.
Token metadata
/v1/tokens Chain, contract, decimals, supply, logo and the verified flag of tokens addressed by contract, like SOLANA:EPjF...Dt1v.
Query parameters
symbolsarray of strings RequiredComma-separated identifiers, up to 100, like ASX:VAS, isin:AU000000VAS1 or ins_...
Up to 100 items
listedOndateResolves tickers as the listing that traded on this day, for tickers that have since been reused. A symbol can carry its own day instead, like ASX:CCL@2021-05-10, which overrides this
freshbooleanSkip our cache and get the latest data. Items refreshed this way cost double
formatstringResponse format
One of
jsoncsvDefaults to json
Response
dataarray of objectsShowHide 11 fields
asOftimestampThe point in time this data describes. For history and events it's the date of the newest record, or the end of your range when there are none. Live values give when they were observed, and reference data gives when we last confirmed it
chainstringA chain id from /v1/chains
contractstringdecimalsinteger or nullgraduatedbooleanOn launchpad tokens, whether the token has left its launchpad's bonding curve for a real pool
instrumentobjectWhat the symbol resolved to
ShowHide 8 fields
countrystringcurrencystringidstringmicstringLeft out for instruments that don't trade on an exchange, like tokens
namestringsymbolstringtickerstring or nullThe code it's known by, like a listing's ticker, a token's symbol or an unlisted fund's APIR code. Null when it has none
typestringOne of
equityetffundindexfxcryptotokenratefuturecommoditybondnftoptionwarrant
launchpadstringWhere the token launched, only on launchpad tokens
logostring or nullsupplystring or nullTotal supply as a raw on-chain integer, divide by 10^decimals for whole tokens
symbolstringThe symbol as sent
verifiedboolean or null
errorsarray of objectsShowHide 3 fields
codestringOne of
invalid_symbolinstrument_not_foundnot_supporteddata_unavailabledata_pendingdata_failedmessagestringsymbolstring
metaobjectShowHide 2 fields
creditsintegerCredits this call cost
requestIdstring
Errors
400 Bad Request401 Unauthorized402 Payment Required403 Forbidden422 Unprocessable Entity429 Too Many Requests500 Internal Server Error503 Service Unavailable
Every error body is problem+json with a stable code. See errors.
Token risk flags
/v1/tokens/risk Spam and scam flags on tokens, each with the reason behind it, and a score from 0 for no known risk to 100 for a certain scam. Flag codes never change meaning, so they're safe to filter on.
Query parameters
symbolsarray of strings RequiredComma-separated identifiers, up to 100, like ASX:VAS, isin:AU000000VAS1 or ins_...
Up to 100 items
listedOndateResolves tickers as the listing that traded on this day, for tickers that have since been reused. A symbol can carry its own day instead, like ASX:CCL@2021-05-10, which overrides this
freshbooleanSkip our cache and get the latest data. Items refreshed this way cost double
formatstringResponse format
One of
jsoncsvDefaults to json
Response
dataarray of objectsShowHide 6 fields
asOftimestampThe point in time this data describes. For history and events it's the date of the newest record, or the end of your range when there are none. Live values give when they were observed, and reference data gives when we last confirmed it
assessedAttimestampflagsarray of objectsShowHide 2 fields
flagstringOne of
honeypotmintablefreezableblacklistpausableupgradeableowner_controlhigh_taxlow_liquidityunlocked_liquidityconcentrated_holdersclosed_sourceimpersonatorspamreasonstring
instrumentobjectWhat the symbol resolved to
ShowHide 8 fields
countrystringcurrencystringidstringmicstringLeft out for instruments that don't trade on an exchange, like tokens
namestringsymbolstringtickerstring or nullThe code it's known by, like a listing's ticker, a token's symbol or an unlisted fund's APIR code. Null when it has none
typestringOne of
equityetffundindexfxcryptotokenratefuturecommoditybondnftoptionwarrant
scorenumber0 for no known risk up to 100 for a certain scam
symbolstringThe symbol as sent
errorsarray of objectsShowHide 3 fields
codestringOne of
invalid_symbolinstrument_not_foundnot_supporteddata_unavailabledata_pendingdata_failedmessagestringsymbolstring
metaobjectShowHide 2 fields
creditsintegerCredits this call cost
requestIdstring
Errors
400 Bad Request401 Unauthorized402 Payment Required403 Forbidden422 Unprocessable Entity429 Too Many Requests500 Internal Server Error503 Service Unavailable
Every error body is problem+json with a stable code. See errors.
Yield pools
/v1/yields Staking, lending and liquidity pools with their size and yield, largest first. APYs are percentages, 3.2 for 3.2%.
Query parameters
chainstringA chain id or alias from /v1/chains
Up to 32 characters
protocolstringA protocol slug
Up to 64 characters
assetstringA token in the pool's symbol like ETH, or an underlying token contract
Up to 128 characters
cursorstringFrom meta.nextCursor of the previous page
Up to 512 characters
limitintegerPage size
From 1 to 1000. Defaults to 100
freshbooleanSkip our cache and get the latest data. Items refreshed this way cost double
formatstringResponse format
One of
jsoncsvDefaults to json
Response
dataarray of objectsShowHide 10 fields
apynumber or nullTotal yearly yield, the sum of apyBase and apyReward when both are known
apyBasenumber or nullYield from the pool's own activity, like fees or interest
apyRewardnumberYield paid in incentive tokens, only on pools that pay them
chainstringcurrencystringCurrency of tvl
idstringChain, protocol and the pool's own reference, for /v1/yields/history
protocolstringsymbolstringtvlnumber or nullTotal value locked
underlyingarray of stringsContracts of the tokens the pool holds
metaobjectShowHide 3 fields
creditsintegerCredits this call cost
nextCursorstring or nullPass as cursor to get the next page, null on the last page
requestIdstring
Errors
400 Bad Request401 Unauthorized402 Payment Required403 Forbidden422 Unprocessable Entity429 Too Many Requests500 Internal Server Error503 Service Unavailable
Every error body is problem+json with a stable code. See errors.
Pool yield history
/v1/yields/history Each pool's daily size and yield, as of the end of each UTC day. History length doesn't change the price.
Query parameters
poolarray of strings RequiredComma-separated pool ids from /v1/yields, up to 100
Up to 100 items
fromdateFirst day, YYYY-MM-DD
todateLast day, YYYY-MM-DD
freshbooleanSkip our cache and get the latest data. Items refreshed this way cost double
formatstringResponse format
One of
jsoncsvDefaults to json
Response
dataarray of objectsShowHide 4 fields
asOftimestampThe point in time this data describes. For history and events it's the date of the newest record, or the end of your range when there are none. Live values give when they were observed, and reference data gives when we last confirmed it
currencystringCurrency of tvl
pointsarray of objectsShowHide 5 fields
apynumber or nullTotal yearly yield, the sum of apyBase and apyReward when both are known
apyBasenumber or nullYield from the pool's own activity, like fees or interest
apyRewardnumberYield paid in incentive tokens, only on pools that pay them
datedatetvlnumber or nullTotal value locked
poolstringThe pool id as sent
errorsarray of objectsShowHide 3 fields
codestringOne of
invalid_symbolinstrument_not_foundnot_supporteddata_unavailabledata_pendingdata_failedmessagestringpoolstring
metaobjectShowHide 2 fields
creditsintegerCredits this call cost
requestIdstring
Errors
400 Bad Request401 Unauthorized402 Payment Required403 Forbidden422 Unprocessable Entity429 Too Many Requests500 Internal Server Error503 Service Unavailable
Every error body is problem+json with a stable code. See errors.