Public API
Everything the site does is available over HTTP, no key needed. The flow for a wallet or an agent is: build → sign → submit. Amounts are lovelace (1 ADA = 1,000,000) and whole tokens.
| Method | Route | What |
|---|---|---|
| GET | /api/tokens?sort=bump|new|mcap|graduated&q= | List tokens with live curve/AMM state, progress and risk score. sort=safest ranks by risk. |
| GET | /api/tokens/{policy} | One token. |
| GET | /api/tokens/{policy}/trades?limit=50 | Trades, newest first (kind, address, ADA, tokens, price). |
| GET | /api/tokens/{policy}/candles?res=1m|5m|15m|1h|4h|1d | OHLC of ADA price per token plus ADA volume, from trades. |
| GET | /api/tokens/{policy}/holders | Top holders with share of supply; curve and AMM addresses labelled. |
| GET | /api/tokens/{policy}/comments · POST {address, body} | Comments. |
| GET | /api/king | King of the hill. |
| GET | /api/creators/{address} | A creator's track record: tokens launched, graduated, abandoned, volume, fees earned. |
| GET | /api/activity | Latest trades across all tokens. |
| GET | /api/settings | Protocol settings straight from the on-chain settings UTxO, plus script hashes and addresses. |
| GET | /api/tx/quote?policy=&side=buy|sell&amount= | Exact on-chain quote (lovelace in / tokens in): output, fees, price impact. |
| POST | /api/tx/launch {address, utxos[], ticker, name, supply?, description?, image?, banner?, socials…} | Builds the mint tx for a CIP-30 wallet (utxos = CBOR hex from getUtxos). Returns {cbor, policyId}. |
| POST | /api/tx/buy {address, utxos[], policy, adaIn} · /api/tx/sell {…, tokensIn} | Builds a curve or AMM trade for the wallet. Returns {cbor, quote}. |
| POST | /api/tx/submit {cbor, witness, policy?} | Attach the wallet's witness set (signTx(cbor, true)) and submit. Returns {hash}. |
| GET | /api/me?address=&assets=unit=qty,… | Portfolio: tokens created with earnings, holdings, trade history. |
| GET | /api/health | Liveness and indexer freshness. |
Example: buy 25 ADA of a token from a script
const utxos = await api.getUtxos(); // CIP-30, CBOR hex[]
const address = (await api.getUsedAddresses())[0];
const r = await fetch("/api/tx/buy", { method: "POST", headers: { "content-type": "application/json" },
body: JSON.stringify({ address, utxos, policy, adaIn: "25000000" }) }).then(x => x.json());
const witness = await api.signTx(r.cbor, true);
const { hash } = await fetch("/api/tx/submit", { method: "POST", headers: { "content-type": "application/json" },
body: JSON.stringify({ cbor: r.cbor, witness }) }).then(x => x.json());