Build with NearPad.
Fetch NearPad launches, token details, verified trades, holders, and candles for your bot or app. These read endpoints are public and require no wallet or API key.
Token API
Send GET requests to https://nearpad.family/api/v1. The full NEAR token account ID identifies a coin; symbols and names can repeat.
| Endpoint | Returns |
|---|---|
GET /health | Service health and launch readiness. |
GET /tokens?limit=24&q=... | Newest registered launches. Search by name, symbol, contract ID, or creator. Limit: 1–200. |
GET /tokens/{token_id} | One coin, its creator, metadata, pair asset, Rhea pool ID, and status. |
GET /tokens/{token_id}/trades?page=1&per_page=25 | Verified buys and sells, newest first, with pagination, transaction hashes, sync time, and delay flag. Page size: 5–25. |
GET /tokens/{token_id}/holders?page=1&per_page=10 | Token holders and pagination. Page size: 5–100. |
GET /tokens/{token_id}/candles?interval=300 | Pool candles at 300, 3600, 21600, or 86400 seconds. |
Successful responses contain ok: true; an unknown coin returns HTTP 404 and invalid input returns HTTP 422. The API exposes public market data only. Trade submission and wallet signing happen through NEAR transactions.
curl -s 'https://nearpad.family/api/v1/tokens?limit=24' curl -s 'https://nearpad.family/api/v1/tokens/nearpad-99d601.nearpadfamily.near' curl -s 'https://nearpad.family/api/v1/tokens/nearpad-99d601.nearpadfamily.near/trades?per_page=25'
Build a Telegram buy bot
Poll the token trade feed, keep the last seen transaction hashes, and publish only new confirmed buys. Set a starting checkpoint before sending alerts so old transactions are not reposted after your bot restarts.
const seen = new Set(); // Load your persisted transaction hashes here.
const token = "nearpad-99d601.nearpadfamily.near";
const url = `https://nearpad.family/api/v1/tokens/${token}/trades?per_page=25`;
const response = await fetch(url);
if (!response.ok) throw new Error(`NearPad API: ${response.status}`);
const { trades, sync_delayed } = await response.json();
if (!sync_delayed) {
for (const trade of [...trades].reverse()) {
if (trade.side === "buy" && !seen.has(trade.tx_hash)) {
// Send to Telegram, then persist this tx_hash as processed.
seen.add(trade.tx_hash);
}
}
}Trade quantities such as amount_token_atomic and amount_pair_atomic are integer strings. Divide by the token decimals and pair asset decimals before display. A creator first buy is recorded as a buy after delivery confirms.
Verify state independently
For decisions that depend on finality, verify get_launch on nearpadfamily.near, get_pool on dclv2.ref-labs.near, and get_position on lock.nearpadfamily.near. A launch can have pool_live status with zero trades: the Rhea DCL opening position holds token inventory until its first buy.
See the protocol integration docs for the pool ID format, pricing, and NEP‑141 balance calls.
Reliable integrations
- Poll every 10–30 seconds; use pagination and cache responses. Back off on errors and 429 responses.
- Deduplicate by
tx_hashand persist a checkpoint. Indexer synchronization may lag onchain receipts. - Treat
sync_delayed: trueas stale data. Verify transaction receipts before attributing funds or finality. - Use the full token account ID and pair asset. Do not infer identity from ticker or image.