API v2

Overview

API v2 introduces community token lists and risk-aware search — composable list plugins plus a judgment layer you can tune.

API v2 is additive: every v1 endpoint keeps working unchanged. v2 currently covers token lists and risk-aware search / resolve.

  • Base URL: https://api.tokens.xyz/v2 — same host and key as v1; only the prefix changes.
  • Auth: x-api-key: <YOUR_API_KEY>; every v2 endpoint needs only the default assets:read scope.

Start with the Quickstart for one working call per endpoint family, and Rate limits & errors for the envelope and details.code values.

Token lists ("lists as plugins")

A token list is a named, ordered set of Solana mints with an accountable curator. Our curated lists (majors, currencies, rwas, etfs, metals, stocks, lsts) are just the first lists; partner communities publish their own. Consuming apps explicitly name the lists they trust and compose them into one corpus — there is deliberately no global "all lists" union, because trust in a curator is the whole model.

  • Anyone can read any published list with an assets:read API key.
  • Anyone can publish: every API key can create lists; each list is owned by the creating key's project and only that project can modify it.
  • Lists may include mints outside our canonical registry; those tokens are flagged verified: false so your UI can render appropriate caution.

See Lists endpoints for the full reference.

Risk-aware search and resolve

GET /v2/search runs every candidate — from a live market-data provider, our token index and the canonical registry — through a judgment pipeline: hard gates, a weighted score, and explanations (reasons, warnings, badges). You choose a policy preset (strict / default / degen) and can override individual gates such as minimum liquidity, minimum age, or verifiedOnly. Whatever a gate removes comes back in suppressed[] with the gate that fired, so nothing is silently hidden.

GET /v2/resolve answers "which mint is USDC?" with a single confident result — or refuses explicitly (ambiguous / no_confident_match) rather than guessing.

See Search & Resolve for the full reference.

On this page