API reference

Crypto and on-chain

Token details and risk flags, plus staking and lending yields.

Token metadata

GET /v1/tokens

1 credit per instrument 2 credits with fresh=true Operation ID crypto.tokens

Chain, contract, decimals, supply, logo and the verified flag of tokens addressed by contract, like SOLANA:EPjF...Dt1v.

Query parameters

  • symbols array of strings Required

    Comma-separated identifiers, up to 100, like ASX:VAS, isin:AU000000VAS1 or ins_...

    Up to 100 items

  • listedOn date

    Resolves 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

  • fresh boolean

    Skip our cache and get the latest data. Items refreshed this way cost double

  • format string

    Response format

    One of jsoncsv

    Defaults to json

Response

  • data array of objects
    ShowHide 11 fields
    • asOf timestamp

      The 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

    • chain string

      A chain id from /v1/chains

    • contract string
    • decimals integer or null
    • graduated boolean

      On launchpad tokens, whether the token has left its launchpad's bonding curve for a real pool

    • instrument object

      What the symbol resolved to

      ShowHide 8 fields
      • country string
      • currency string
      • id string
      • mic string

        Left out for instruments that don't trade on an exchange, like tokens

      • name string
      • symbol string
      • ticker string or null

        The 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

      • type string

        One of equityetffundindexfxcryptotokenratefuturecommoditybondnftoptionwarrant

    • launchpad string

      Where the token launched, only on launchpad tokens

    • logo string or null
    • supply string or null

      Total supply as a raw on-chain integer, divide by 10^decimals for whole tokens

    • symbol string

      The symbol as sent

    • verified boolean or null
  • errors array of objects
    ShowHide 3 fields
    • code string

      One of invalid_symbolinstrument_not_foundnot_supporteddata_unavailabledata_pendingdata_failed

    • message string
    • symbol string
  • meta object
    ShowHide 2 fields
    • credits integer

      Credits this call cost

    • requestId string

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

GET /v1/tokens/risk

5 credits per instrument 10 credits with fresh=true Operation ID crypto.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

  • symbols array of strings Required

    Comma-separated identifiers, up to 100, like ASX:VAS, isin:AU000000VAS1 or ins_...

    Up to 100 items

  • listedOn date

    Resolves 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

  • fresh boolean

    Skip our cache and get the latest data. Items refreshed this way cost double

  • format string

    Response format

    One of jsoncsv

    Defaults to json

Response

  • data array of objects
    ShowHide 6 fields
    • asOf timestamp

      The 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

    • assessedAt timestamp
    • flags array of objects
      ShowHide 2 fields
      • flag string

        One of honeypotmintablefreezableblacklistpausableupgradeableowner_controlhigh_taxlow_liquidityunlocked_liquidityconcentrated_holdersclosed_sourceimpersonatorspam

      • reason string
    • instrument object

      What the symbol resolved to

      ShowHide 8 fields
      • country string
      • currency string
      • id string
      • mic string

        Left out for instruments that don't trade on an exchange, like tokens

      • name string
      • symbol string
      • ticker string or null

        The 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

      • type string

        One of equityetffundindexfxcryptotokenratefuturecommoditybondnftoptionwarrant

    • score number

      0 for no known risk up to 100 for a certain scam

    • symbol string

      The symbol as sent

  • errors array of objects
    ShowHide 3 fields
    • code string

      One of invalid_symbolinstrument_not_foundnot_supporteddata_unavailabledata_pendingdata_failed

    • message string
    • symbol string
  • meta object
    ShowHide 2 fields
    • credits integer

      Credits this call cost

    • requestId string

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

GET /v1/yields

1 credit per page 2 credits with fresh=true Operation ID yields.pools

Staking, lending and liquidity pools with their size and yield, largest first. APYs are percentages, 3.2 for 3.2%.

Query parameters

  • chain string

    A chain id or alias from /v1/chains

    Up to 32 characters

  • protocol string

    A protocol slug

    Up to 64 characters

  • asset string

    A token in the pool's symbol like ETH, or an underlying token contract

    Up to 128 characters

  • cursor string

    From meta.nextCursor of the previous page

    Up to 512 characters

  • limit integer

    Page size

    From 1 to 1000. Defaults to 100

  • fresh boolean

    Skip our cache and get the latest data. Items refreshed this way cost double

  • format string

    Response format

    One of jsoncsv

    Defaults to json

Response

  • data array of objects
    ShowHide 10 fields
    • apy number or null

      Total yearly yield, the sum of apyBase and apyReward when both are known

    • apyBase number or null

      Yield from the pool's own activity, like fees or interest

    • apyReward number

      Yield paid in incentive tokens, only on pools that pay them

    • chain string
    • currency string

      Currency of tvl

    • id string

      Chain, protocol and the pool's own reference, for /v1/yields/history

    • protocol string
    • symbol string
    • tvl number or null

      Total value locked

    • underlying array of strings

      Contracts of the tokens the pool holds

  • meta object
    ShowHide 3 fields
    • credits integer

      Credits this call cost

    • nextCursor string or null

      Pass as cursor to get the next page, null on the last page

    • requestId string

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

GET /v1/yields/history

1 credit per pool 2 credits with fresh=true Operation ID 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

  • pool array of strings Required

    Comma-separated pool ids from /v1/yields, up to 100

    Up to 100 items

  • from date

    First day, YYYY-MM-DD

  • to date

    Last day, YYYY-MM-DD

  • fresh boolean

    Skip our cache and get the latest data. Items refreshed this way cost double

  • format string

    Response format

    One of jsoncsv

    Defaults to json

Response

  • data array of objects
    ShowHide 4 fields
    • asOf timestamp

      The 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

    • currency string

      Currency of tvl

    • points array of objects
      ShowHide 5 fields
      • apy number or null

        Total yearly yield, the sum of apyBase and apyReward when both are known

      • apyBase number or null

        Yield from the pool's own activity, like fees or interest

      • apyReward number

        Yield paid in incentive tokens, only on pools that pay them

      • date date
      • tvl number or null

        Total value locked

    • pool string

      The pool id as sent

  • errors array of objects
    ShowHide 3 fields
    • code string

      One of invalid_symbolinstrument_not_foundnot_supporteddata_unavailabledata_pendingdata_failed

    • message string
    • pool string
  • meta object
    ShowHide 2 fields
    • credits integer

      Credits this call cost

    • requestId string

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.