Public APIs
| Request | Result |
|---|---|
GET /api/v1 | Version, environment, supported chains and capabilities |
GET /api/v1/collections?limit=20&offset=0&chain=84532 | Public collection configuration and integration links |
GET /api/v1/collections/84532/{contract_address} | One registered collection, including cached chain figures |
GET /api/v1/contracts/kurvdrop | Public KurvDrop ABI, including quotes and minting |
const origin = 'https://testnet.kurv.fun';const { collections } = await fetch(`${origin}/api/v1/collections?limit=20`) .then(response => response.json());const collection = collections[0];const { collection: current } = await fetch( `${origin}/api/v1/collections/${collection.chain_id}/${collection.contract_address}`).then(response => response.json());All public API routes send Access-Control-Allow-Origin: * and accept only reads. They do not require cookies. Lists accept a limit of 1 to 50 and an offset of 0 to 200; pagination.next_offset is null at the end. Version 1 exposes a window of the newest 200 visible catalog records, not an unbounded historical index. The detail route also supports registered collections reached by their direct address.
Amounts and supply counts are decimal strings, preserving integer precision. Amounts use the collection payment token’s smallest unit. Read that token’s decimals() and symbol() before formatting; never assume every collection settles in six-decimal USDC. max_supply comes from the launch configuration until chain state is available. total_minted is null until there is a reading, rather than an invented zero.
Detail reads reuse KURV’s shared 15-second chain cache. reading.read_at records when a reading succeeded; reading.status: "stale_or_unavailable" means the latest attempt failed and any figures belong to the last successful reading. A quote in this response is informational, for one piece in the default active phase, and does not prove the wallet can mint. Obtain a fresh quoteMint immediately before signing.
Unrevealed token media and metadata roots are withheld. A separately published teaser can remain visible. Private allowlists, publication file lists, seeds, account credentials and raw infrastructure errors are never included in version 1. Errors use { "api_version": "1", "error": { "code": "...", "message": "..." } } with 400, 404 or 503 status codes.
Use https://testnet.kurv.fun for Base Sepolia, chain id 84532. KURV for Developers lists the available entry points. Prices and fees depend on the collection: read Fees and Risks and disclaimer.
Nothing here is financial advice. Read Risks and disclaimer before you mint, buy or sell back. Back to kurv.fun. Privacy policy. Terms of use. .
