New launches
const url = 'https://api.getchord.xyz/v1/arc/graduated?hours=48&limit=100';const options = {method: 'GET'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://api.getchord.xyz/v1/arc/graduated?hours=48&limit=100'Tokens whose first pool on Arc was created inside the window, routable by the engine today and screened: impostor symbols, launch farms (one creator, many pools), no-sell tokens and too few traders are removed and counted in screened. Newest first, with the launcher named where the registry knows it.
Use it for: a “new pairs” feed, launch forensics, an agent watching launches.
Parameters
Section titled “ Parameters ”Query Parameters
Section titled “Query Parameters”Responses
Section titled “ Responses ”object
object
EVM address, hex, case-insensitive.
Logo through Chord’s proxy (/v1/logo/5042/{address}, 128 px WebP).
The upstream logo URL the proxy fetched, when there is one.
stablecoin, fx, stock, … — from the curated list; empty for unlisted tokens.
On the curated Arc token list (metadata and logo vetted).
Last trade price on the token’s dominant venue, USD.
USD, every venue, no dust floor.
Distinct attributed wallets over the board’s day window. Routers, executors and bots are not wallets.
Unix time, seconds, UTC.
totalSupply() in whole tokens. Null when unreadable.
TotalSupply × price — fully diluted, since nothing on-chain says what is locked.
Indexed pools holding the token.
object
Pool count per venue id (uniswap_v3, uniswap_v4, pools_trade, slipstream_fork, v3fork_<8hex>, …).
object
The engine can quote this token today (at least one pool against a routing anchor).
Honesty flags. wash = a day’s volume carried by one or two wallets; impostor = an unlisted token wearing a listed symbol. Absent when clean.
Unix time, seconds, UTC.
Contract the creating transaction called (create = a raw deploy).
Name from the launcher registry, when known.
EVM address, hex, case-insensitive.
How many launches each screen removed.
object
Unix time, milliseconds — when the server built this answer.
Example
{ "chain": 5042, "hours": 48, "tokens": [ { "address": "0xf31599ae7a1a2c7e3d99f2bf307c44a71196e987", "symbol": "DePIN", "name": "X DePIN", "decimals": 18, "logoURI": null, "tags": [], "listed": false, "priceUsd": 0.000011092869541991106, "change24hPct": null, "volume24h": 55.392897000000005, "buyVolume24h": 55.392897000000005, "sellVolume24h": 0, "trades24h": 2, "buys24h": 2, "sells24h": 0, "traders": 3, "lastTradeTs": 1789891653, "totalSupply": 1000000000, "marketCapUsd": 11092.869541991106, "pools": { "v3": 0, "v2": 1, "v4": 0, "byDex": { "uniswap_v2": 1 } }, "routable": true, "launchedAt": 1789891314, "launcher": "0x89e5db8b5aa49aa85ac63f691524311aeb649eba", "creator": "0xd4bd5a99286f728f9529dc8a1fc8b1c702c04497", "ageSec": 540, "launcherName": null }, { "address": "0xa210789b8b0666afa2d4ed00cf701083a2d72c52", "symbol": "RWA", "name": "X RWA", "decimals": 18, "logoURI": null, "tags": [], "listed": false, "priceUsd": 0.000011336625606769674, "change24hPct": null, "volume24h": 430.557449, "buyVolume24h": 430.557449, "sellVolume24h": 0, "trades24h": 17, "buys24h": 17, "sells24h": 0, "traders": 17, "lastTradeTs": 1789891140, "totalSupply": 1000000000, "marketCapUsd": 11336.625606769674, "pools": { "v3": 0, "v2": 1, "v4": 0, "byDex": { "uniswap_v2": 1 } }, "routable": true, "launchedAt": 1789890414, "launcher": "0x89e5db8b5aa49aa85ac63f691524311aeb649eba", "creator": "0xd4bd5a99286f728f9529dc8a1fc8b1c702c04497", "ageSec": 1440, "launcherName": null } ], "total": 85, "screened": { "not_routable": 2614, "impostor": 4, "no_sells": 13, "few_traders": 68, "serial_creator": 1615, "no_trades": 23098, "no_symbol": 0 }, "updatedAt": 1789891854594}Invalid parameters — error names the check that failed (INVALID_PARAMS, BAD_ADDRESS, BAD_LIMIT, BAD_HOURS, …).
Every non-2xx body.
object
Stable machine code, e.g. INVALID_PARAMS, NOT_READY, RATE_LIMIT_EXCEEDED.
For humans.
HTTP status, when included.
Example
{ "error": "INVALID_PARAMS", "message": "amount must be an integer string in the token's smallest unit"}The lane behind this endpoint is not ready or not enabled here (NOT_READY, CHAIN_NOT_ENABLED, NOT_ENABLED, *_UNAVAILABLE). Retry later; do not treat it as an empty answer.
Every non-2xx body.
object
Stable machine code, e.g. INVALID_PARAMS, NOT_READY, RATE_LIMIT_EXCEEDED.
For humans.
HTTP status, when included.
Example
{ "error": "INVALID_PARAMS", "message": "amount must be an integer string in the token's smallest unit"}