# Token fields

> Every field a token has, what it means, and what it can be filtered, sorted and thresholded by.

This page is part of the Intear API docs. The Intear API is at `https://api.intea.rs` and `wss://api.intea.rs/ws`, with no API key. https://docs.intear.tech/api/llms-full.txt has all of its pages in one file, and https://docs.intear.tech/llms.txt lists every page of the Intear docs.

Name the fields you want in `fields`. `account_id` always comes first. The last three columns say whether a field works in `where` bounds (`min`, `max`), in `sort`, and in `min_change`.

| Field | Type | `where` | `sort` | `min_change` |
| --- | --- | --- | --- | --- |
| `name`, `symbol` | string | | | |
| `decimals` | number | ✅ | ✅ | |
| `reference` | string or `null` | | | |
| `icon` | string or `null` | | | |
| `thumbnail` | string or `null` | | | |
| `icon_hash` | string or `null` | | | |
| `price_usd`, `price_usd_raw`, `price_usd_hardcoded` | string | ✅ | ✅ | ✅ |
| `price_near` | string | ✅ | ✅ | ✅ |
| `ath_price_usd_raw` | string | ✅ | ✅ | |
| `main_pool`, `main_pool_url` | string or `null` | | | |
| `liquidity` | string | ✅ | ✅ | ✅ |
| `liquidity_usd` | number | ✅ | ✅ | ✅ |
| `market_cap_usd`, `fdv_usd` | number | ✅ | ✅ | ✅ |
| `total_supply`, `circulating_supply` | string | ✅ | ✅ | ✅ |
| the same two with `_with_decimals` | string | ✅ | ✅ | ✅ |
| `holders` | number | ✅ | ✅ | ✅ |
| `reputation` | string | | | |
| `socials` | object or `null` | | | |
| `description` | string or `null` | | | |
| `dev` | string or `null` | | | |
| `banner_hash` | string or `null` | | | |
| `burn_addresses` | list of strings | | | |
| `deleted` | boolean | | | |
| `created_at`, `created_at_millis` | number | ✅ | ✅ | |
| `buys_<w>`, `sells_<w>`, `traders_<w>` | number | ✅ | ✅ | ✅ |
| `volume_usd_<w>` | number | ✅ | ✅ | ✅ |
| `price_usd_raw_<w>_ago` | string | ✅ | ✅ | ✅ |
| `price_change_<w>` | number or `null` | ✅ | ✅ | |

`<w>` is a window: `5m`, `15m`, `1h`, `6h` or `24h`.

## Metadata

- `name`, `symbol`, `decimals`, `reference`: from the token contract's `ft_metadata`.
- `icon`: the contract's icon, shrunk to a small WebP if it's a raster image, or `null` when there's none that can be served inline.
- `thumbnail`: a WebP of at most 35×35, a few hundred bytes, SVG icons included. `null` when the icon can't be decoded, and for a new token until its icon has been processed.
- `icon_hash`: the icon as a WebP of up to 128×128 at `https://api.intea.rs/icon/<icon_hash>.webp`, SVG icons rasterized. The hash is 16 characters of URL-safe base64 from the icon's SHA-256, so the URL changes whenever the icon does. It's served with `Cache-Control: public, max-age=31536000, immutable`, and returns `404` once it's changed. Tokens with the same icon share it.
- `reputation`: `Spam`, `Unknown`, `NotFake` or `Reputable`, in increasing order.
- `socials`: links like `{ "twitter": "https://x.com/..." }`.
- `description`: what the launchpad the token was launched on describes it as, `null` when it isn't from one that does.
- `banner_hash`: the token's 500×150 banner, as a WebP at `https://api.intea.rs/banner/<banner_hash>.webp`, served like `icon_hash`. `null` without one.
- `dev`: the account that launched the token: the one that signed the transaction deploying its contract, or for a meta-transaction, the signer of the delegate action rather than the relayer. For a meme.cooking token, whoever created the meme. `null` when that isn't known.
- `deleted`: the token's account is gone, has no contract, or has no `ft_metadata`, or what `ft_metadata` returns isn't token metadata. A contract that panics, or an RPC that fails, doesn't count. It stays `true` until the token is found again, say after a redeploy.
- `created_at`: the block height the token was first seen at, and `created_at_millis` when that block was produced. wNEAR, USDt, USDC and nBTC have `created_at` `0` and `created_at_millis` at NEAR's genesis.

## Prices

- `price_usd`: USD per whole token. `"0"` without a price. USDt is always `"1"`.
- `price_usd_raw`: the unscaled price the indexer works in: `price_usd = price_usd_raw × 10^(decimals − 6)`.
- `price_usd_hardcoded`: `price_usd`, except that USDC (`17208628f84f5d6ad33f0da3bbbeb27ffcb398eac501a31bd6ad2011e36133a1`) is pinned at exactly `"1"` while it's within 1% of $1.
- `price_near`: NEAR per whole token, `price_usd` over wrap.near's at the same block. `"0"` while either has no price.
- `ath_price_usd_raw`: the highest raw price ever recorded, as of the latest block.
- `main_pool`: the pool the price comes from, like `REF-6063`, or `null`. It pairs the token with one that has a price of its own, and so on down to `wrap.near` or USDt, along the route whose shallowest pool is deepest. A route with one more pool needs to be twice as deep, and the price only moves to another route once that one is twice as deep. `main_pool_url` is the pool's page on its DEX.

`precision` (1 to 30) rounds the string prices (`price_usd`, `price_usd_raw`, `price_usd_hardcoded`, `price_near`, `ath_price_usd_raw` and `price_usd_raw_<w>_ago`) to that many significant digits, keeping at least 3 decimals: at 6, `0.000123456789` is `0.000123457` and `12345.6789` is `12345.679`. Without it, `price_near` and `ath_price_usd_raw` have up to 30 significant digits, and the others up to 20.

## Liquidity and supply

- `liquidity`: the token's reserves summed across its pools with tokens that have a price, in its smallest units, each counted only as far as the route behind that price is deep. A Rhea DCL pool counts what it holds, not its liquidity at the current price.
- `liquidity_usd`: the value of `liquidity`, doubled to count the side it's paired with.
- `total_supply`, `circulating_supply`: in the token's smallest units. The `_with_decimals` forms are the same in whole tokens, like `"21000000.5"`.
  - `total_supply` is `ft_total_supply`, or a known maximum supply for some tokens, minus what the zero address and `burn_addresses` hold. For `wrap.near`, it's NEAR's total supply, and so is `circulating_supply`.
  - `circulating_supply` also leaves out supply known to be locked, like a treasury or tokens still vesting.
- `burn_addresses`: accounts whose balance counts as burned.
- `market_cap_usd` and `fdv_usd`: `circulating_supply` and `total_supply` at `price_usd`. `0` without a price.
- `holders`: how many accounts hold any of the token, as far as this project's indexed balances go.

## Activity windows

For each window `<w>`, exact as of every block:

- `buys_<w>`, `sells_<w>`: how many swaps bought and sold the token.
- `traders_<w>`: how many accounts made them.
- `volume_usd_<w>`: what they were worth in USD, each swap valued at the prices from before its block.
- `price_usd_raw_<w>_ago`: the last raw price recorded at or before the window's start, or `"0"`.
- `price_change_<w>`: `price_usd_raw / price_usd_raw_<w>_ago - 1`, like `0.05` for +5%. `null` without a price `<w>` ago. A token that lost its price has `price_usd` `"0"`, but `price_usd_raw_<w>_ago` keeps its last price, so its `price_change_<w>` is `-1`: filter with `min.price_usd` to leave such tokens out of gainers and losers.

A swap counts from its block until the window has moved past it, and `price_usd_raw_<w>_ago` moves along with the window.
