API reference

Crypto and on-chain

Token details and risk flags, wallet balances and transactions, and 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:9BB6...pump.

Query parameters

  • symbols array of strings Required

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

    Up to 100 items

  • fresh boolean

    Skip our cache and fetch from sources. Items fetched fresh cost double

  • format string

    Response format

    One of jsoncsv

    Defaults to json

Response

  • data array of objects
    Show 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 checked it with a source

    • chain string

      A chain id from /v1/chains

    • contract string
    • decimals integer or null
    • graduated boolean or null

      Whether the token has left its launchpad's bonding curve for a real pool

    • instrument object

      What the symbol resolved to

      Show 7 fields
      • country string or null
      • currency string or null
      • id string
      • mic string or null
      • name string
      • symbol string
      • type string

        One of equityetffundindexfxcryptotokenratefuturecommoditybond

    • launchpad string or null

      Where the token launched, null for most 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
    Show 3 fields
    • code string

      One of invalid_symbolinstrument_not_foundnot_supporteddata_unavailabledata_pendingsource_failed

    • message string
    • symbol string
  • meta object
    Show 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

  • fresh boolean

    Skip our cache and fetch from sources. Items fetched fresh cost double

  • format string

    Response format

    One of jsoncsv

    Defaults to json

Response

  • data array of objects
    Show 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 checked it with a source

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

        One of honeypotmintablefreezableblacklistpausableupgradeableowner_controlhigh_taxlow_liquidityunlocked_liquidityconcentrated_holdersclosed_sourceimpersonatorspam

      • reason string
    • instrument object

      What the symbol resolved to

      Show 7 fields
      • country string or null
      • currency string or null
      • id string
      • mic string or null
      • name string
      • symbol string
      • type string

        One of equityetffundindexfxcryptotokenratefuturecommoditybond

    • score number or null

      0 for no known risk up to 100 for a certain scam, null when unscored

    • symbol string

      The symbol as sent

  • errors array of objects
    Show 3 fields
    • code string

      One of invalid_symbolinstrument_not_foundnot_supporteddata_unavailabledata_pendingsource_failed

    • message string
    • symbol string
  • meta object
    Show 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.

Wallet balances

GET /v1/wallets/balances

5 credits per address 10 credits with fresh=true Operation ID wallets.balances

Every asset held by each address or xpub on one chain, valued in currency. Amounts are raw on-chain integers as decimal strings next to their decimals. An xpub comes back as the sha256 of it and is never stored, and extended private keys are refused.

Query parameters

  • chain string Required

    A chain id or alias from /v1/chains

    Up to 32 characters

  • address array of strings Required

    Comma separated addresses or xpubs, up to 100. Never send a private key or seed phrase

    Up to 100 items

  • currency string

    Convert every price into this ISO currency

    Matches ^[A-Z]{3}$

  • fresh boolean

    Skip our cache and fetch from sources. Items fetched fresh cost double

  • format string

    Response format

    One of jsoncsv

    Defaults to json

Response

  • data array of objects
    Show 5 fields
    • address string

      The address as we read it, or xpub: and the sha256 of an xpub

    • 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 checked it with a source

    • balances array of objects
      Show 8 fields
      • address string or null

        The derived address, on derived rows only

      • amount string

        Raw on-chain integer, divide by 10^decimals for whole units

      • asset string

        native for the chain's own coin, else the token contract

      • decimals integer
      • path string or null

        The derivation path, on derived rows only

      • reputation string

        listed for the chain's own coin and tokens a token list knows. spam when the indexer flags it or its name advertises a site or a claim, the usual airdrop scam. unlisted for anything else

        One of listedunlistedspam

      • symbol string
      • value number or null

        Whole units at the latest price. Spam is never valued, and an unlisted token only once we know it, so quote it with /v1/quotes first. Also null when the asset has no price or we couldn't price it in time, so ask again shortly for those

    • currency string

      Currency of every value

    • derived array of objects

      An xpub's balances split by derived address, empty for an address

      Show 8 fields
      • address string or null

        The derived address, on derived rows only

      • amount string

        Raw on-chain integer, divide by 10^decimals for whole units

      • asset string

        native for the chain's own coin, else the token contract

      • decimals integer
      • path string or null

        The derivation path, on derived rows only

      • reputation string

        listed for the chain's own coin and tokens a token list knows. spam when the indexer flags it or its name advertises a site or a claim, the usual airdrop scam. unlisted for anything else

        One of listedunlistedspam

      • symbol string
      • value number or null

        Whole units at the latest price. Spam is never valued, and an unlisted token only once we know it, so quote it with /v1/quotes first. Also null when the asset has no price or we couldn't price it in time, so ask again shortly for those

  • errors array of objects
    Show 3 fields
    • address string or null

      The address as we read it, null when it couldn't be read, since it may have been a key

    • code string

      One of invalid_symbolinstrument_not_foundnot_supporteddata_unavailabledata_pendingsource_failed

    • message string
  • meta object
    Show 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.

Wallet transactions

GET /v1/wallets/transactions

5 credits per page Growth and up 10 credits with fresh=true Operation ID wallets.transactions

An address's or xpub's confirmed transactions, newest first, each with every transfer in it: native, token, internal and NFT transfers, or UTXO inputs and outputs. Amounts are raw on-chain integers as decimal strings. Fees are in the chain's native coin, whose decimals /v1/chains lists.

Query parameters

  • chain string Required

    A chain id or alias from /v1/chains

    Up to 32 characters

  • address string Required

    One address or xpub. Never send a private key or seed phrase

    Up to 256 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 fetch from sources. Items fetched fresh cost double

  • format string

    Response format

    One of jsoncsv

    Defaults to json

Response

  • data array of objects
    Show 8 fields
    • failed boolean

      True when the transaction reverted and moved nothing

    • fee string or null

      Raw amount in the chain's native coin

    • feePayer string or null

      Null on UTXO chains, where the inputs pay the fee together

    • hash string
    • height integer

      Block height, or the slot on Solana

    • position integer or null

      Index within the block

    • time timestamp
    • transfers array of objects
      Show 8 fields
      • amount string

        Raw on-chain integer, divide by 10^decimals for whole units

      • asset string

        native for the chain's own coin, else the token contract

      • decimals integer
      • from string or null

        Null on UTXO outputs

      • index integer

        Orders transfers of one kind within the transaction

      • kind string

        native is the coin a transaction moves itself, internal is the coin moved by a contract call

        One of inputoutputnativeinternaltokennft

      • to string or null

        Null on UTXO inputs

      • tokenId string or null

        Set on NFT transfers

  • meta object
    Show 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 Forbidden404 Not Found422 Unprocessable Entity429 Too Many Requests500 Internal Server Error502 Bad Gateway503 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 fetch from sources. Items fetched fresh cost double

  • format string

    Response format

    One of jsoncsv

    Defaults to json

Response

  • data array of objects
    Show 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 or null

      Yield paid in incentive tokens

    • 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
    Show 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 fetch from sources. Items fetched fresh cost double

  • format string

    Response format

    One of jsoncsv

    Defaults to json

Response

  • data array of objects
    Show 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 checked it with a source

    • currency string

      Currency of tvl

    • points array of objects
      Show 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 or null

        Yield paid in incentive tokens

      • date date
      • tvl number or null

        Total value locked

    • pool string

      The pool id as sent

  • errors array of objects
    Show 3 fields
    • code string

      One of invalid_symbolinstrument_not_foundnot_supporteddata_unavailabledata_pendingsource_failed

    • message string
    • pool string
  • meta object
    Show 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.