Your listing drafts
const url = 'https://api.digirare.com/v1/address/example/listing-preflights?limit=50&state=in_flight';const options = {method: 'GET', headers: {'x-session-token': '<x-session-token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://api.digirare.com/v1/address/example/listing-preflights?limit=50&state=in_flight' \ --header 'x-session-token: <x-session-token>'Owner operation history for recovering a lost preflight-create response. An unsigned attach past its expiry is reported as expired at read time.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Mainnet P2TR or P2WPKH address. The SIGNING capability: every signature is verified by reconstructing a BIP-143/BIP-341 witness sighash.
Query Parameters
Section titled “Query Parameters”Opaque (created_at,id) continuation token returned as next_cursor.
In_flight returns only the seller’s signed attaches still confirming (broadcasting or awaiting the indexer), newest activity first, at most 50, without paging; limit and cursor are ignored.
Responses
Section titled “Responses”Successful listSellerListingPreflights response.
object
object
Counterparty atomic units. A string preserves integers beyond JSON’s safe numeric range; divisibility affects display, never this wire value.
object
Integer satoshis, exactly representable as a JSON number. Aggregated historical volume can exceed Bitcoin’s supply, so this is the safe JSON integer ceiling, not a single-transaction spending limit.
Deadline for reviewing this template. The listing itself has no Bitcoin-level expiry.
Address-level Counterparty balance consumed by the attach. It may be a Legacy sibling while seller owns the modern asset UTXO and listing.
object
object
Integer satoshis, exactly representable as a JSON number. Aggregated historical volume can exceed Bitcoin’s supply, so this is the safe JSON integer ceiling, not a single-transaction spending limit.
object
object
Integer satoshis, exactly representable as a JSON number. Aggregated historical volume can exceed Bitcoin’s supply, so this is the safe JSON integer ceiling, not a single-transaction spending limit.
object
Integer satoshis, exactly representable as a JSON number. Aggregated historical volume can exceed Bitcoin’s supply, so this is the safe JSON integer ceiling, not a single-transaction spending limit.
object
Complete signer plan derived from authenticated PSBT prevouts. Input 0 must belong to the preflight’s asset_source; later fee inputs may belong to other permissioned addresses in the same wallet.
object
Current listing state, distinct from successful preparation/submission.
Example
{ "result": [ { "protocol_version": "counterparty_attach_listing_v1", "mode": "reuse", "status": "awaiting_attach_signature", "fees": { "network": { "asset": "BTC" }, "protocol": { "asset": "XCP" }, "platform": { "asset": "BTC" } }, "listing": { "sighash": "SINGLE|ANYONECANPAY" }, "attach": { "sighash": "ALL" }, "next_action": "sign_attach" } ]}Stable machine-readable failure
object
On 422 mempool_rejected from a broadcast: which deterministic node policy refused the bytes. Retrying the same bytes fails the same way. fee_floor: re-quote at a higher fee_rate. chain_too_long: too many unconfirmed ancestors; wait for a confirmation, then retry. truc: a version-3 (TRUC) package rule, such as spending an unconfirmed version-3 output; wait for a confirmation, then retry.
The node’s own reject reason, on mempool_rejected (422) and on state_changed (409) when a broadcast lost to a conflicting or replacing spend.
Present and true when mempool_policy is chain_too_long or truc.
On a checkout or accept completion refused as mempool_rejected: the journaled settlement ended and every listing, bid, and asset claim it held was released (its inputs were proven unspent). The quote or accept is replaced; request a new one.
Batch listing routes only: every refused item. The first sets the status and code.
One refused item in a batch refusal’s refused_listings array. Nothing in the batch was changed.
object
On 429 rate_limited: the exact seconds until the oldest counted request leaves the window; a retry then is admitted (also sent as Retry-After). Limited writes are bucketed per route scope in exact sliding 60-second windows: by session address when a valid x-session-token is present, otherwise by IP, with a per-IP ceiling across sessions. Expensive writes: 20, ceiling 120. Signed completions: 120, ceiling 600. Session minting (/auth/*): 60 per IP. A request refused by any bucket is counted by none.
Example
{ "code": "invalid_request", "mempool_policy": "fee_floor"}Stable machine-readable failure
object
On 422 mempool_rejected from a broadcast: which deterministic node policy refused the bytes. Retrying the same bytes fails the same way. fee_floor: re-quote at a higher fee_rate. chain_too_long: too many unconfirmed ancestors; wait for a confirmation, then retry. truc: a version-3 (TRUC) package rule, such as spending an unconfirmed version-3 output; wait for a confirmation, then retry.
The node’s own reject reason, on mempool_rejected (422) and on state_changed (409) when a broadcast lost to a conflicting or replacing spend.
Present and true when mempool_policy is chain_too_long or truc.
On a checkout or accept completion refused as mempool_rejected: the journaled settlement ended and every listing, bid, and asset claim it held was released (its inputs were proven unspent). The quote or accept is replaced; request a new one.
Batch listing routes only: every refused item. The first sets the status and code.
One refused item in a batch refusal’s refused_listings array. Nothing in the batch was changed.
object
On 429 rate_limited: the exact seconds until the oldest counted request leaves the window; a retry then is admitted (also sent as Retry-After). Limited writes are bucketed per route scope in exact sliding 60-second windows: by session address when a valid x-session-token is present, otherwise by IP, with a per-IP ceiling across sessions. Expensive writes: 20, ceiling 120. Signed completions: 120, ceiling 600. Session minting (/auth/*): 60 per IP. A request refused by any bucket is counted by none.
Example
{ "code": "invalid_request", "mempool_policy": "fee_floor"}