---
title: "Returns a list of EVM (ERC-20, ...) tokens on the runtime."
method: GET
path: "/{runtime}/evm_tokens"
---

# Returns a list of EVM (ERC-20, ...) tokens on the runtime.

`GET /{runtime}/evm_tokens`

## Path parameters

- `runtime` 'emerald' | 'sapphire' | 'pontusxtest' | 'pontusxdev' | 'cipher', required

## Query parameters

- `limit` integer
- `offset` integer
- `name` string
- `sort_by` 'total_holders' | 'market_cap'

## Response `200`

The requested tokens.

- EvmTokenList — A list of tokens in a runtime.
  - `total_count` integer, required — The total number of records that match the query, i.e. the number of records the query would return with limit=infinity.
  - `is_total_count_clipped` boolean, required — Whether total_count is clipped for performance reasons.
  - `evm_tokens` EvmToken[], required — A list of L2 EVM tokens (ERC-20, ERC-721, ...).
    - `contract_addr` string, required — The Oasis address of this token's contract.
    - `eth_contract_addr` string, required — The Ethereum address of this token's contract.
    - `name` string — Name of the token, as provided by token contract's `name()` method.
    - `symbol` string — Symbol of the token, as provided by token contract's `symbol()` method.
    - `decimals` integer — The number of least significant digits in base units that should be displayed as decimals when displaying tokens. `tokens = base_units / (10**decimals)`. Affects display only. Often equals 18, to match ETH.
    - `type` 'ERC20' | 'ERC721', required — The type of a EVM token.
    - `total_supply` string, bigint
    - `num_transfers` integer — The total number of transfers of this token.
    - `num_holders` integer, required — The number of addresses that have a nonzero balance of this token.
    - `ref_swap` EvmTokenSwap
      - `pair_address` string, required — The Oasis address of the swap pair contract.
      - `pair_address_eth` string — The Ethereum-compatible address of the swap pair contract.
      - `factory_address` string — The Oasis address of the swap factory contract.
      - `factory_address_eth` string — The Ethereum-compatible address of the swap factory contract.
      - `token0_address` string — The Oasis address of the first token in this swap.
      - `token0_address_eth` string — The Ethereum-compatible address of the first token in this swap
      - `token1_address` string — The Oasis address of the second token in this swap.
      - `token1_address_eth` string — The Ethereum-compatible address of the second token in this swap.
      - `create_round` integer — The round when this swap pair was created.
      - `reserve0` string, bigint
      - `reserve1` string, bigint
      - `last_sync_round` integer — The round when this swap pair last updated its reserves.
    - `ref_token` EvmRefToken
      - `type` 'ERC20' | 'ERC721', required — The type of a EVM token.
      - `name` string — Name of the token, as provided by token contract's `name()` method.
      - `symbol` string — Symbol of the token, as provided by token contract's `symbol()` method.
      - `decimals` integer — The number of least significant digits in base units that should be displayed as decimals when displaying tokens. `tokens = base_units / (10**decimals)`. Affects display only. Often equals 18, to match ETH.
    - `relative_token_address` string — The relative price and relative total value are expressed in this reference token's base unit.
    - `relative_price` number, double — The relative price of one base unit of this token is this many of the relative token's base unit.
    - `relative_total_value` number, double — The relative price of this token multiplied by this token's total supply, in the relative token's base unit.
    - `is_verified` boolean, required — Whether the contract has been successfully verified by Sourcify. Additional information on verified contracts is available via the `/{runtime}/accounts/{address}` endpoint. DEPRECATED: This field will be removed in the future in favor of verification_level
    - `verification_level` 'partial' | 'full' — The level of verification of a smart contract, as defined by Sourcify. An absence of this field means that the contract has not been verified. See also https://docs.sourcify.dev/docs/full-vs-partial-match/

## Other responses

- `400` — A human-readable error message.
- `404` — An empty response indicating that the requested resource was not found.
- `500` — A human-readable error message.

---

[API](https://skmtc.net/oasisprotocol/apis/oasis-nexus-api-v1.md) · [All operations](https://skmtc.net/oasisprotocol/apis/oasis-nexus-api-v1/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/oasisprotocol/oasis-nexus-api-v1/versions/a841981f8ee1/schema)
