raresats.net API
Guides View as Markdown

Send rare sats and bitcoin

The wallet tools send from your address with your own wallet's signature: rare sats (only them, or the whole UTXOs), N sats of a type, chopped ranges, and plain bitcoin. The flow is the one of Extract rare sats: prepare, sign every input in sign, submit.

Destinations #

destination must be an address on the market's network of type P2TR, P2WPKH, P2SH, P2WSH or P2PKH; the platform's fee address is refused. A destination that is not Taproot gets a warning: make sure the wallet behind it keeps rare sats apart. Outputs to a P2SH or P2PKH destination are padded to 546 sats instead of 330.

Sending rare sats, inscriptions or runes to your own payment address (when it differs from your ordinals address) is refused with payment_destination unless the body says confirm_payment_destination: true: your wallet spends that address as plain bitcoin.

Send UTXOs: kind: "send" #

Request
{
  "kind": "send",
  "owner": { "payment_address": "…", "payment_public_key": "…", "ordinals_address": "…", "ordinals_public_key": "…" },
  "items": [{ "outpoint": "2fb6…d3a9:0" }],
  "destination": "bc1p…",
  "mode": "rare",
  "fee_rate": 3
}
  • mode: "rare" sends only the rare sats, laid out as an extraction; the rest comes back to you.
  • mode: "whole" sends each UTXO as it is, one output each, or one output for all of them with consolidate: true. Inscribed UTXOs only move whole and 1:1; rune UTXOs may be bundled.

Send N sats of a type: kind: "send_n" #

type is an exact type combination ("uncommon", "black+uncommon": exactly those types) or a range type ("block9", "450x"), and count how many. The server picks them from your UTXOs, the fewest UTXOs first; items limits it to some. A range type is cut as an aligned sub-range of count sats, so count must be at least the destination's padding (330, or 546). Not enough → not_enough_sats with the available count. An automatic pick never takes a listed, offered, inscribed or rune UTXO.

Chop ranges: kind: "chop" #

Cuts the whole ranges of a UTXO (block 9 style) at sats divisible by chop_size (330 to 100,000,000), every piece to destination (your ordinals address by default).

Plain bitcoin #

  • kind: "consolidate": merges 2 or more plain UTXOs of yours (items) into one output (your payment address by default). Leave items out and the server picks them: your payment address's plain UTXOs, up to 50, smallest first, never listed ones or your offers' funding, and not a largest one worth more than all the others together.
  • kind: "multisend": sends: [{address, value}] pays 1 to 50 recipients exactly, the change back to your payment address.

Fees #

Every transfer pays the network fee, from plain bitcoin only, and a flat tools fee (GET /api/market/config → tools.fee_sats) as one output to the platform's fee address. A speed-up or cancel keeps the original's fee output, so a transfer is never charged twice. Tools transactions carry no OP_RETURN marker.

Listings and offers #

Moving a UTXO you have listed cancels the listing just before the broadcast (a listing being bought is refused with 409 pending). A UTXO whose listing signature is public must be moved alone (listed_public_alone), and its listed warning carries recommended_fee_rate, the fast rate: use it, so no purchase with that signature can replace your transfer. Offers on a moved UTXO become invalid.