SPAM THE CHAIN / NODE API

Bitcoin. Ordinals. Broadcast.

Use this guide to integrate wallets, dashboards, inscription clients, rune tooling, public explorer helpers, and transaction broadcast clients against the API exposed by this node.

Endpoint Explorer

Search by route, capability, method, or upstream service.

Inscription API

Clients quote files and options, pay the quote amount, then confirm with quote id and payment txid.

Pricing

No key is required. Public requests add 3000 sats per inscription. Bronze adds 2000 sats, Silver adds 1000 sats, and Gold adds 0 sats. Transaction fees, postage, and padding are added to every quote.

Send a valid customer key with the quote request when available. The API recomputes the tier fee server-side and returns the exact BTC amount and address to pay.

Flow

  1. Create a quote with POST /v1/inscriptions/quote, including file content and fee rate.
  2. Pay quote.payment.amount_sats to quote.payment.payment_address.
  3. Confirm with POST /v1/inscriptions/payments, passing quote_id and txid.
  4. Poll GET /v1/inscriptions/requests/{request_id} from the payment response.
curl -sS -X POST -H "Content-Type: application/json" -H "X-API-Key: $API_KEY" \
  --data '{"fee_rate_sat_vb":"2.5","items":[{"kind":"file","name":"art.png","content_type":"image/png","content_base64":"iVBORw0KGgo..."}]}' \
  "https://api.spamthechain.com/v1/inscriptions/quote"

Sub-1 sat/vB Broadcast

Broadcast relay requires an active paid customer key.

Policy model

The API accepts signed raw transaction hex from paid customer keys and calls Bitcoin Core policy checks before broadcast. It does not impose a 1 sat/vB minimum. Transactions below 1 sat/vB can be submitted if the local node accepts them under current policy.

Check GET /v1/bitcoin/policy. A minrelaytxfee_btc_kvb value of 0.00000100 is equivalent to 0.1 sat/vB. Anything below the local floor is rejected by Core, and transactions accepted locally are still not guaranteed to propagate or confirm.

Required flow

  1. Decode the signed hex with POST /v1/bitcoin/tx/decode.
  2. Dry-run with POST /v1/bitcoin/tx/validate.
  3. Broadcast with POST /v1/bitcoin/tx/broadcast using an active paid customer key.
  4. Poll GET /v1/bitcoin/tx/{txid}/status and use RBF or package relay when needed.

Client Flows

Reference patterns for external integrations.

Ordinal-aware UTXO selection

Validate an address, fetch ord assets for candidate outputs, avoid spending inscribed or runic UTXOs unless intentional, then build the PSBT in the client wallet.

Inscription and rune lookup

Use inscription metadata, content, output, rune, and parent/child endpoints to render explorer views without exposing the ord server directly.

Batch mint or chained transaction flow

Create topologically sorted signed transactions, validate as a package, submit the package, then watch mempool entries and outspends.

Replace or accelerate

Use transaction status, mempool entry, ancestors, descendants, and package validation to decide whether RBF or CPFP is the correct follow-up.