This file is kept as a local snapshot/reference and should not be removed. Use it for offline notes and endpoint quick-lookups, but treat the Coinset CLI skill as the canonical operator workflow reference:
For repo-specific execution and host validation, use:
docs/coinset-validation.mdscripts/probe_coinset_capabilities.py
This file summarizes the public docs currently available from https://www.coinset.org/docs and linked usage pages.
As of: 2026-02-19
- Coinset positions itself as a free, fast, reliable Chia blockchain API service.
- Mainnet API base URL:
https://api.coinset.org. - Testnet11 base URL:
https://testnet11.api.coinset.org. - Most documented endpoints use
POST+ JSON body. - Real-time updates are documented via WebSocket at
wss://coinset.org/ws. - Docs site is hosted separately at
https://www.coinset.org/docs.
Use these exact hosts:
# Docs
curl https://www.coinset.org/docs
# Mainnet API
curl https://api.coinset.org
# Testnet API
curl https://testnet11.api.coinset.orgIntroduction:https://www.coinset.org/docs- Endpoint categories observed:
usage/blocksusage/coinsusage/feesusage/full--nodeusage/mempoolusage/web-socket
- Typical response envelope:
success(boolean)error(string)- plus endpoint-specific payload keys
- Hash-like fields are usually documented as hex strings (for example
header_hash,coin_id,tx_id). - In live responses, some numeric fields may appear as:
- integers
- decimal strings
- hex strings (
0x...) - occasionally bare
0xfor zero-like values
- Some fields that are semantically numeric/opcode-like may appear as either strings or integers.
- Common optional filters on coin queries:
start_height(uint32)end_height(uint32)include_spent_coins(boolean)
POST /get_additions_and_removals- block additions/removals byheader_hashPOST /get_block- full block byheader_hashPOST /get_block_count_metrics- aggregate block metrics (compact_blocks,uncompact_blocks,hint_count)POST /get_block_record- block record byheader_hashPOST /get_block_record_by_height- block record byheightPOST /get_block_records- block records in[start, end]POST /get_block_spends- spends in block byheader_hashPOST /get_block_spends_with_conditions- spends + conditions byheader_hashPOST /get_blocks- blocks in[start, end]with optionalexclude_header_hash,exclude_reorgedPOST /get_unfinished_block_headers- unfinished block headers (empty body)
get_blocksexposes block-level fee totals viatransactions_info.fees.- For spend-level inspection, use
get_block_spends_with_conditions. - A practical spend-fee estimator is:
coin_spend.coin.amount - sum(CREATE_COIN output amounts)
- In practice,
get_blockspayloads can occasionally omitheader_hash; if needed, resolve via:POST /get_block_record_by_height
POST /get_coin_record_by_name- one coin record by coinnamePOST /get_coin_records_by_hint- coin records by singlehintPOST /get_coin_records_by_hints- coin records by multiplehintsPOST /get_coin_records_by_names- coin records by multiple coinnamesPOST /get_coin_records_by_parent_ids- coin records byparent_idsPOST /get_coin_records_by_puzzle_hash- coin records by onepuzzle_hashPOST /get_coin_records_by_puzzle_hashes- coin records bypuzzle_hashesPOST /get_memos_by_coin_name- memos for coinnamePOST /get_puzzle_and_solution- coin solution bycoin_idand optionalheightPOST /get_puzzle_and_solution_with_conditions- coin solution + conditionsPOST /push_tx- submit aspend_bundleto mempool/blockchain
POST /get_fee_estimate- fee estimation forspend_bundle(supportstarget_times,spend_count)
POST /get_aggsig_additional_data- network AGG_SIG additional dataPOST /get_network_info- network metadata (network_name, prefix, genesis challenge)POST /get_blockchain_state- full node/blockchain summary statePOST /get_network_space- estimated network space between two block header hashes
POST /get_all_mempool_items- all mempool itemsPOST /get_all_mempool_tx_ids- all mempool tx ids (spend bundle hashes)POST /get_mempool_item_by_tx_id- one mempool item bytx_idPOST /get_mempool_items_by_coin_name- mempool items bycoin_name
GET /ws- realtime stream for new transactions, mempool items, and offer files
Use this as a quick "minimum payload" guide when wiring clients.
| Endpoint | Required body fields |
|---|---|
POST /get_additions_and_removals |
header_hash |
POST /get_block |
header_hash |
POST /get_block_count_metrics |
none ({}) |
POST /get_block_record |
header_hash |
POST /get_block_record_by_height |
height |
POST /get_block_records |
start, end |
POST /get_block_spends |
header_hash |
POST /get_block_spends_with_conditions |
header_hash |
POST /get_blocks |
start, end |
POST /get_unfinished_block_headers |
none ({}) |
| Endpoint | Required body fields |
|---|---|
POST /get_coin_record_by_name |
name |
POST /get_coin_records_by_hint |
hint |
POST /get_coin_records_by_hints |
hints |
POST /get_coin_records_by_names |
names |
POST /get_coin_records_by_parent_ids |
parent_ids |
POST /get_coin_records_by_puzzle_hash |
puzzle_hash |
POST /get_coin_records_by_puzzle_hashes |
puzzle_hashes |
POST /get_memos_by_coin_name |
name |
POST /get_puzzle_and_solution |
coin_id |
POST /get_puzzle_and_solution_with_conditions |
coin_id |
POST /push_tx |
spend_bundle |
| Endpoint | Required body fields |
|---|---|
POST /get_fee_estimate |
spend_bundle |
POST /get_aggsig_additional_data |
none ({}) |
POST /get_network_info |
none ({}) |
POST /get_blockchain_state |
none ({}) |
POST /get_network_space |
newer_block_header_hash, older_block_header_hash |
POST /get_all_mempool_items |
none ({}) |
POST /get_all_mempool_tx_ids |
none ({}) |
POST /get_mempool_item_by_tx_id |
tx_id |
POST /get_mempool_items_by_coin_name |
coin_name |
GET /ws |
none (upgrade to WebSocket) |
- Prefer explicit
Content-Type: application/jsonon allPOSTcalls. - Send
{}for endpoints with empty request bodies instead of omitting the body. - Treat hash-like fields as hex strings exactly as documented (for example
0x...values). push_txappears in multiple docs paths, but the route is the same API call (POST /push_tx).- Coin query defaults may return only unspent records unless
include_spent_coinsis set. - Keep API host and docs host separate:
- docs:
https://www.coinset.org/docs - API:
https://api.coinset.org
- docs:
- Some runtime environments can get blocked by upstream protections when using
generic/default HTTP clients. Using a stable, explicit
User-Agentheader improves reliability for scripted calls. - Expect mixed field typing in some responses (int/decimal-string/hex-string). Parse defensively in automation.
- For long scans over many blocks, build fail-soft behavior so single malformed or transiently failing blocks do not abort the entire run.
curl -X POST "https://api.coinset.org/<endpoint>" \
-H "Content-Type: application/json" \
-d '<json body>'wscat -c wss://coinset.org/ws- Some docs links point to additional pages not yet verified in this file (for example, several "Previous/Next" links outside this fetched set).
- The docs mention a CLI utility on the intro page, but a dedicated setup guide was not discovered in the fetched pages.
- https://www.coinset.org/docs
- https://coinset.org/
- https://www.coinset.org/docs/usage/blocks/get_additions_and_removals
- https://www.coinset.org/docs/usage/blocks/get_block
- https://www.coinset.org/docs/usage/blocks/get_block_count_metrics
- https://www.coinset.org/docs/usage/blocks/get_block_record
- https://www.coinset.org/docs/usage/blocks/get_block_record_by_height
- https://www.coinset.org/docs/usage/blocks/get_block_records
- https://www.coinset.org/docs/usage/blocks/get_block_spends
- https://www.coinset.org/docs/usage/blocks/get_block_spends_with_conditions
- https://www.coinset.org/docs/usage/blocks/get_blocks
- https://www.coinset.org/docs/usage/blocks/get_unfinished_block_headers
- https://www.coinset.org/docs/usage/coins/get_coin_record_by_name
- https://www.coinset.org/docs/usage/coins/get_coin_records_by_hint
- https://www.coinset.org/docs/usage/coins/get_coin_records_by_hints
- https://www.coinset.org/docs/usage/coins/get_coin_records_by_names
- https://www.coinset.org/docs/usage/coins/get_coin_records_by_parent_ids
- https://www.coinset.org/docs/usage/coins/get_coin_records_by_puzzle_hash
- https://www.coinset.org/docs/usage/coins/get_coin_records_by_puzzle_hashes
- https://www.coinset.org/docs/usage/coins/get_memos_by_coin_name
- https://www.coinset.org/docs/usage/coins/get_puzzle_and_solution
- https://www.coinset.org/docs/usage/coins/get_puzzle_and_solution_with_conditions
- https://www.coinset.org/docs/usage/coins/push_tx
- https://www.coinset.org/docs/usage/fees/get_fee_estimate
- https://www.coinset.org/docs/usage/full--node/full_node_get_aggsig_additional_data
- https://www.coinset.org/docs/usage/full--node/full_node_get_network_info
- https://www.coinset.org/docs/usage/full--node/get_blockchain_state
- https://www.coinset.org/docs/usage/full--node/get_network_space
- https://www.coinset.org/docs/usage/full--node/push_tx
- https://www.coinset.org/docs/usage/mempool/get_all_mempool_items
- https://www.coinset.org/docs/usage/mempool/get_all_mempool_tx_ids
- https://www.coinset.org/docs/usage/mempool/get_mempool_item_by_tx_id
- https://www.coinset.org/docs/usage/mempool/get_mempool_items_by_coin_name
- https://www.coinset.org/docs/usage/web-socket/websocket_connect