# Get list of all known tokens Returns a list of all token assets. Includes native tokens and ERC-20 tokens. Endpoint: GET /tokens Version: 1.0.0 Security: ApiKeyAuth ## Query parameters: - `limit` (integer) Maximum number of items to return Example: 20 - `page` (integer) Page number for pagination Example: 1 - `sort_by` (string) Field to sort results by. Use "-" prefix for descending order Enum: "gid", "-gid", "address", "-address", "decimals", "-decimals", "name", "-name", "symbol", "-symbol", "created_at", "-created_at" - `search` (string) Search filter for token address, symbols, or names (partial match, case-insensitive) Example: "USDT" - `chain_gids` (array) Filter tokens by blockchain chain GIDs Example: ["eip155:1","eip155:56","eip155:137"] ## Response 200 fields (application/json): - `items` (array, required) List of tokens managed in the system, including native coins and token contracts (e.g., ERC-20, BEP-20) - `items.gid` (string, required) Asset identifier in CAIP-19 format. Identifies a asset across blockchains. Format: /: Examples: - Ethereum ETH: eip155:1/slip44:60 - Ethereum USDT ERC-20: eip155:1/erc20:0xdAC17F958D2ee523a2206206994597C13D831ec7 Example: "eip155:1/erc20:0xdAC17F958D2ee523a2206206994597C13D831ec7" - `items.decimals` (integer, required) Number of decimal places for the token (e.g., 6 for USDT, 18 for ETH) Example: 6 - `items.name` (string, required) Full token name (e.g., "Tether USD", "Ethereum", "Binance Coin") Example: "Tether USD" - `items.symbol` (string, required) Token symbol (e.g., "USDT", "ETH", "BNB") Example: "USDT" - `items.created_at` (string, required) Timestamp when the resource was created Example: "2024-01-15T10:30:00Z" - `meta` (object, required) - `meta.limit` (integer, required) Number of items per page Example: 20 - `meta.page` (integer, required) Current page number Example: 1 - `meta.total` (integer, required) Total number of items available Example: 42 - `meta.total_pages` (integer, required) Total number of pages available Example: 3 ## Response 400 fields (application/problem+json): - `type` (string, required) A URI reference that identifies the problem type Example: "https://docs.vilna.io/apis/problems/invalid-request" - `title` (string, required) A short, human-readable summary of the problem type Example: "Invalid Request" - `status` (integer, required) The HTTP status code Example: 400 - `detail` (string) A human-readable explanation specific to this occurrence of the problem Example: "Validation error" - `instance` (string) A URI reference that identifies the specific occurrence of the problem Example: "/errors?id=XXXXXX-xxxxx" - `fields` (array) List of invalid fields in the request - `fields.name` (string, required) The name of the invalid field Example: "meta" - `fields.reason` (string, required) Why this field is invalid Example: "Exceeded maximum data size — must not exceed 1000 characters" ## Response default fields (application/problem+json): - `detail` (string) A human-readable explanation specific to this occurrence of the problem Example: "An unexpected error occurred while processing your request" - `instance` (string) A URI reference that identifies the specific occurrence of the problem Example: "/errors/1234567890" - `status` (integer, required) The HTTP status code Example: 500 - `title` (string, required) A short, human-readable summary of the problem type Example: "Internal Server Error" - `type` (string, required) A URI reference that identifies the problem type Example: "https://api.vilna.io/problems/internal-error"