---
title: "Resolve an arbitrary token address on-chain"
method: GET
path: "/token"
---

# Resolve an arbitrary token address on-chain

`GET /token`

## Request

- Base URL: `https://swap.vurto.cc/v1`
- URL: `https://swap.vurto.cc/v1/token`
- Auth: none required

Reads symbol(), name(), decimals() live via RPC for a contract address not in the curated list, and caches the result 24h. Rate-limited per IP (30/min) — this triggers real RPC calls.

## Query parameters

- `chainId` integer, required
- `address` string, required

## Response `200`

OK

- object
  - `item` TokenInfo
    - `address` string: Checksummed contract address, or 0xEeee…EEeE for the chain's native asset.
    - `symbol` string
    - `name` string
    - `decimals` integer
    - `verified` boolean: True for tokens in the curated seed list; false for on-chain-resolved tokens the caller pasted an address for.
  - `cached` boolean

## Other responses

- `400`: unsupported_chain | invalid_token_address
- `429`: rate_limited

---

[API](https://skmtc.dev/vurto/apis/vurto-swap-public-api.md) · [All operations](https://skmtc.dev/vurto/apis/vurto-swap-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/vurto/apis/vurto-swap-public-api/revisions/423be3a193b5?raw)
