Endpoint reference
Every route under /api/v1. Pick a tab to copy a working snippet in curl, browser fetch, or C#. Replace your-host with wherever this app is running.
Node
Read-only views of the local Chia full node. /node/state is cached at the HTTP layer for 5 seconds.
/api/v1/node/statusConnectivity check, network name, and peak height. Cheapest call you can make.
curl https://your-host/api/v1/node/status/api/v1/node/statePeak hash, difficulty, mempool size, sync flag. Cached for 5 seconds.
curl https://your-host/api/v1/node/stateCoins
Lookups return a CoinSearchResult with coinRecords, totalAmount, and totalUnspentAmount in mojos. Set limit to cap the response; default is 100, max 1000.
/api/v1/coins/{coinId}Single coin record, or 404. Accepts 64-hex with or without 0x prefix.
curl https://your-host/api/v1/coins/0xabc123.../api/v1/coins/by-puzzle-hash/{addressOrHash}Coin records for an address or puzzle hash. Accepts xch1… or raw hex.
curl "https://your-host/api/v1/coins/by-puzzle-hash/xch1abcdef...?limit=50" /api/v1/coins/by-hint/{hintHex}Coin records by hint. Same pagination shape as puzzle-hash lookups.
curl "https://your-host/api/v1/coins/by-hint/abc123...?limit=50" Address & hex
Pure functions — no node round-trip. Inputs are normalized inside the library (ChiaAddressCodec.Normalize*); pass xch1…, 0x…, or bare hex.
/api/v1/address/decodexch1… → puzzle hash hex.
curl -X POST https://your-host/api/v1/address/decode \
-H "Content-Type: application/json" \
-d '{"address":"xch1abcdef..."}'/api/v1/address/encodePuzzle hash hex → bech32m address. Default HRP is xch.
curl -X POST https://your-host/api/v1/address/encode \
-H "Content-Type: application/json" \
-d '{"puzzleHash":"abc...","hrp":"xch"}'/api/v1/asset-id/normalizeCanonical lowercase hex for a CAT asset id.
curl -X POST https://your-host/api/v1/asset-id/normalize \
-H "Content-Type: application/json" \
-d '{"assetId":"0xABC..."}'Offers (read-only)
Both endpoints round-trip to the local wallet RPC, so they're rate-limited to 10/min per IP. Offer text is capped at 64 KB.
/api/v1/offers/inspectSummarise offered and requested assets. No mutation.
curl -X POST https://your-host/api/v1/offers/inspect \
-H "Content-Type: application/json" \
-d '{"offer":"offer1..."}'/api/v1/offers/validateBoolean validity check for an offer string.
curl -X POST https://your-host/api/v1/offers/validate \
-H "Content-Type: application/json" \
-d '{"offer":"offer1..."}'Security teaching reports
Pure in-memory content. Cached for 30 seconds. Good targets for the “does the API work?” smoke test.
/api/v1/security/entropy-failureLeakage report on weak or biased entropy.
curl https://your-host/api/v1/security/entropy-failure/api/v1/security/bls-hazardsCommon BLS implementation pitfalls.
curl https://your-host/api/v1/security/bls-hazards/api/v1/security/bundle-exclusionPartial-bundle manipulation scenarios with verdicts.
curl https://your-host/api/v1/security/bundle-exclusionHealth
/api/v1/healthReturns { status: 'ok' } if the web app is running. Does not check the node.
curl https://your-host/api/v1/health