Each v1 channel emits JSON objects with a stable shape. The channel you connected to determines the payload type. Any field may be absent when the data is not available.
Timestamps and delay
time (milliseconds since epoch) and time_iso (the same instant as ISO 8601) are set by the server at the moment it receives the event for publish. They are not the exchange's publication time.
For delayed keys, time and time_iso are restamped to the receive time plus your key's delay. The payload's delay string and the connection greeting report the applied delay. See Keys for standard plan delays. History rows keep the stored receive time.
This is the basis for measuring delivery yourself: subtract time from your own clock on arrival. The v2 endpoints use microsecond timestamps instead.
Listings and delistings
Emitted on new-listings and delistings (and, with extra detection fields, on the enhanced variants).
{
"id": 3638602138738688,
"time": 1776661200556,
"time_iso": "2026-04-20T05:00:00.556Z",
"announcement": "$PIEVERSE listed on Upbit spot (KRW)",
"original_title": "파이버스(PIEVERSE) 신규 거래지원 안내 (KRW, BTC, USDT 마켓)",
"url": "https://upbit.com/service_center/notice?id=6154",
"exchange": "upbit",
"type": "spot",
"detections": [
{
"ticker": "PIEVERSE"
}
]
}
| Field | Type | Notes |
|---|---|---|
id |
int | Unique event ID. |
time |
int | Event timestamp in milliseconds since epoch. |
time_iso |
string | Same timestamp as ISO 8601. |
delay |
string | The delay applied to your key, in milliseconds (for example 0ms). |
announcement |
string | Clean human-readable summary. |
original_title |
string | Original exchange announcement title (when available). |
url |
string | Link to the source announcement. |
exchange |
string | Normalized exchange identifier. See Exchange coverage. |
type |
string | Product type on that exchange (spot, futures, pre-market, etc.). |
detections |
array | Tickers detected in the announcement, each with contracts when known. |
Each entry in detections has ticker, and if available project_name and a contracts array of {chain, contract} objects.
Korean venues keep the original notice title alongside the parsed summary — the $FOLD Upbit listing, excerpted:
{
"announcement": "$FOLD listed on Upbit spot (KRW)",
"original_title": "[거래] 폴드(FOLD) KRW 마켓 디지털 자산 추가",
"exchange": "upbit",
"type": "spot",
"detections": [{ "ticker": "FOLD" }]
}
Announcements
The raw notice stream. No ticker detection is performed.
{
"id": 1765546215726,
"time": 1761719456916,
"time_iso": "2025-10-29T06:30:56.916Z",
"exchange": "kucoin",
"announcement": "Funding Rate Settlement Frequency of Multiple USDⓈ-M Perpetual Contracts Will Be Resumed",
"url": "https://www.kucoin.com/announcement/en-funding-rate-settlement-frequency-of-multiple-usd-m-perpetual-contracts-will-be-resumed"
}
Feed
The free key's compact aggregated stream.
{
"message": "$MEGA listed on Upbit spot (KRW)",
"url": "https://upbit.com/service_center/notice?id=6184",
"type": "listing",
"tier": "primary",
"delay": "3000ms"
}
| Field | Type | Notes |
|---|---|---|
message |
string | Clean human-readable listing or delisting text. |
url |
string | Link to the source announcement. |
type |
string | listing for a new listing or delisting for a removal. |
tier |
string | Source group: primary for core sources or secondary for additional sources. |
delay |
string | The delay applied to your key, in milliseconds. |
Enhanced detections
The enhanced v1 channels are in beta and available in Tokyo. When an announcement supplies a contract, it stays under contracts. If the matcher resolves the project from that exact address, its project_name and metrics appear on the detection as authoritative enrichment. See the authoritative example.
When no source contract is available, a candidate project and its contracts may appear under suggested_match. Legacy v1 can also include suggested_match alongside authoritative contracts to recommend a different contract for the same project with greater verified liquidity. The Enhanced channels guide explains this distinction.
metrics
| Field | Notes |
|---|---|
circulating_market_cap_usd |
Market cap using circulating supply. |
fdv_usd |
Fully diluted valuation. |
volume_24h_usd |
Trailing 24-hour trading volume. |
circulating_supply |
Circulating token supply. |
total_supply |
Total token supply. |
contracts[] and suggested_contracts[]
| Field | Notes |
|---|---|
chain |
Normalized chain label. See chains below. |
contract |
Contract address. |
dex_pairs |
Per-pool volume and liquidity, when pair data is available. Reported per pair only — no contract-level totals. |
dex_pairs[]
| Field | Notes |
|---|---|
dex_id |
DEX identifier. See common values below. |
pair |
Lowercased base/quote symbol, no surrounding spaces, no DEX fee-tier suffix. |
pair_contract |
Pool contract address. |
volume_24h_usd |
Trailing 24-hour pair volume. |
liquidity_usd |
Current pool liquidity. |
Chains
The chain field on contract entries takes one of:
arbitrum, avalanche, base, bsc, ethereum, katana, linea, optimism, polygon, robinhood, solana, sonic, sui, tron
Additional chain names may appear when an exchange announcement references a network not in the list above. Values are always lowercase.
dex_id values
The dex_id string is passed through from the data provider. It is not an enumeration, and new DEXes may appear at any time. Commonly seen values by chain:
| Chain | Common dex_id values |
|---|---|
solana |
pumpswap, meteora, raydium |
ethereum |
uniswap, uniswap_v2, uniswap_v3, uniswap-v4-ethereum |
bsc |
pancakeswap, pancakeswap-v3-bsc, pancakeswap-infinity-clmm, uniswap |
base |
uniswap, aerodrome-base, aerodrome-slipstream-2 |