Tokens

Get a token by its canonical id, or by the {chainId}-{address} shorthand. The shorthand reads an unknown token from chain and stores it; a canonical id the database does not hold is a 404.

get/v4/tokens/{id}

Request

  • Base URL: https://api.merkl.xyz (the document declares no server; this is the origin it was published from)
  • URL: https://api.merkl.xyz/v4/tokens/{id}
  • Auth: apiKey (a scheme the document does not define)

Path parameters

idstring required

Token ID (path-only). Two accepted forms: (1) canonical numeric hash Bun.hash(${chainId}${checksumAddress(address)}).toString() (e.g. 3460729690457214808), or (2) the {chainId}-{address} shorthand (e.g. 1-0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48) which the server resolves to the canonical id. The shorthand is path-only — the ?id= query filter only accepts the canonical numeric form (comma-separated list supported). NOT a campaign or opportunity ID. See ID types.

Query parameters

returnUnderlyingboolean

Resolve the token's underlying and return it under underlying, null when the token is not a wrapper.

Response

Response for status 200

idstring required

Unique identifier for the token

namestring required

Full name of the token

chainIdinteger required

Chain Id

addressstring required

Address

decimalsnumber required

Number of decimals for the token

symbolstring required

Symbol of the token

iconstring required

URL to the token icon image

verifiedboolean required

Whether the token is verified

isNativeboolean required

Whether this is a native blockchain token

isTestboolean required

Whether this is a test token

pricenumber

Current price of the token in USD

updatedAtnumber

Unix timestamp of last price update

priceSourcestring

Source of the price information

displaySymbolstring

Custom display symbol override

underlyingTokenIdstring

If this token is a wrapper, the ID of the underlying token

priceAlertDismissedAtnumber
priceAlertCountnumber

Changes