Offers are direct buy-side bids on a single inscription. The buyer signs an offer PSBT. The seller can accept it as-is, reject it, or counter at a different price. Either side can walk away before settlement.
Reads and writes need a bearer token. Tokens are issued only after verifying a funded payment address. Buyer offer creation is collection-scoped through /collection/:slug/offers/...; existing offer actions remain inscription-scoped because they act on a specific offer id.
This page covers nine flows:
Any wallet : read active offers, read offer history.
Buyer : create an offer, cancel an offer.
Seller : accept an offer, reject an offer, counter an offer.
Buyer : accept a counter, reject a counter.
You : read your offers across all inscriptions (GET /me/offers).
Offers carry a status and a kind. The full enums:
statusWhen activeOffer is live and waiting for action. acceptedTrade settled on-chain. rejectedCounterparty declined. cancelledOriginator cancelled. expiredvalidityHours elapsed without action.invalidatedLocked PSBT inputs are no longer spendable.
kindWhat it is buyer_offerA buyer’s bid on an inscription. seller_counterA seller’s counter on a parent buyer offer.
Returns active offers and counters on the inscription, including counteroffer visibility for your wallet.
Name Type Description idstring The inscription id.
Field Type Description inscriptionIdstring ownerAddressstring Current owner address. topOfferSatsinteger | null Highest active offer in SATS. liveOfferCountinteger Count of active offers and counters. expiringSoonCountinteger Count of offers near expiry. offersarray Offer rows. offers[].idstring (UUID) The offer id. offers[].parentOfferIdstring (UUID) | null Set when kind is seller_counter. offers[].kindstring buyer_offer or seller_counter.offers[].statusstring See status table above. offers[].inscriptionIdstring offers[].buyerAddressstring offers[].sellerAddressstring offers[].createdAtISO datetime offers[].expiresAtISO datetime offers[].acceptedAtstring | null offers[].rejectedAtstring | null offers[].cancelledAtstring | null offers[].floorSatsinteger | null Floor for the inscription’s collection at offer time. offers[].topOfferSatsinteger | null Top offer at offer time. offers[].settlementTxidstring | null Set after acceptance. offers[].priceSatsinteger Offer price. offers[].inscriptionUtxoValueSatsinteger Dust-paying value carried by the inscription UTXO. offers[].sellerMarketplaceFeeBpsinteger offers[].sellerMarketplaceFeeSatsinteger offers[].buyerMarketplaceFeeBpsinteger offers[].buyerMarketplaceFeeSatsinteger offers[].sellerCreatorRoyaltyBpsinteger offers[].sellerCreatorRoyaltySatsinteger offers[].buyerCreatorRoyaltyBpsinteger offers[].buyerCreatorRoyaltySatsinteger offers[].sellerReceiveSatsinteger offers[].buyerPayTotalSatsinteger offers[].marketplaceRevenueSatsinteger offers[].creatorRevenueSatsinteger
"inscriptionId" : " abc123...i0 " ,
"ownerAddress" : " bc1p... " ,
"id" : " 11111111-1111-1111-1111-111111111111 " ,
"inscriptionId" : " abc123...i0 " ,
"buyerAddress" : " bc1q... " ,
"sellerAddress" : " bc1p... " ,
"createdAt" : " 2026-05-08T18:00:00.000Z " ,
"expiresAt" : " 2026-05-15T18:00:00.000Z " ,
"inscriptionUtxoValueSats" : 546 ,
"sellerMarketplaceFeeBps" : 100 ,
"sellerMarketplaceFeeSats" : 500 ,
"buyerMarketplaceFeeBps" : 100 ,
"buyerMarketplaceFeeSats" : 500 ,
"sellerCreatorRoyaltyBps" : 0 ,
"sellerCreatorRoyaltySats" : 0 ,
"buyerCreatorRoyaltyBps" : 100 ,
"buyerCreatorRoyaltySats" : 500 ,
"sellerReceiveSats" : 49500 ,
"buyerPayTotalSats" : 51000 ,
"marketplaceRevenueSats" : 1000 ,
"creatorRevenueSats" : 500
Page-paginated history of offers on the inscription.
Name Type Default Description pageinteger 0Zero-indexed page. Min 0, max 100. Page size is fixed at 25.
Field Type Description inscriptionIdstring offersarray Same shape as the active offers response. hasMoreboolean More pages exist. pageinteger Current page.
"inscriptionId" : " abc123...i0 " ,
"id" : " 22222222-2222-2222-2222-222222222222 " ,
"inscriptionId" : " abc123...i0 " ,
"buyerAddress" : " bc1q... " ,
"sellerAddress" : " bc1p... " ,
"createdAt" : " 2026-04-01T12:00:00.000Z " ,
"expiresAt" : " 2026-04-08T12:00:00.000Z " ,
"inscriptionUtxoValueSats" : 546 ,
"sellerMarketplaceFeeBps" : 100 ,
"sellerMarketplaceFeeSats" : 450 ,
"buyerMarketplaceFeeBps" : 100 ,
"buyerMarketplaceFeeSats" : 450 ,
"sellerCreatorRoyaltyBps" : 0 ,
"sellerCreatorRoyaltySats" : 0 ,
"buyerCreatorRoyaltyBps" : 100 ,
"buyerCreatorRoyaltySats" : 450 ,
"sellerReceiveSats" : 44550 ,
"buyerPayTotalSats" : 45900 ,
"marketplaceRevenueSats" : 900 ,
"creatorRevenueSats" : 450
Two calls: preflight to build offer PSBTs, submit to lock them in. The buyer’s PSBT carries payment inputs that release if the seller accepts. Creation is collection-scoped so floor checks use the selected collection. Each create-offer request can include 1 to 20 inscription ids.
Field Type Required Description walletBindingIdstring (UUID) yes paymentPublicKeystring yes Hex public key for the payment address. inscriptionIdsarray yes 1 to 20 inscription ids in this collection. Duplicate ids are rejected. priceSatsinteger yes Offer price in SATS. Must meet the configured minimum and be a multiple of 1,000 SATS. validityHoursinteger no One of 12, 24, 168 (7 days), 720 (30 days), 2160 (90 days). Defaults to 168. spendableUtxosarray conditional Up to 1000 candidate payment UTXOs. Required for API-created or non-Xverse bindings. Xverse bindings may omit it and use wallet-provider UTXO fallback.
"walletBindingId" : " 55555555-5555-5555-5555-555555555555 " ,
"paymentPublicKey" : " abcdef... " ,
"inscriptionIds" : [ " abc123...i0 " ],
"spendableUtxos" : [{ "txid" : " deadbeef... " , "vout" : 0 , "valueSats" : 100000 }]
Field Type Description selectedPaymentUtxosarray UTXOs the server chose. itemsarray One preflight item per inscription. items[].inscriptionIdstring items[].priceSatsinteger items[].buyerPayTotalSatsinteger items[].expectedSettlementTxidstring items[].stepsarray One PSBT step.
"selectedPaymentUtxos" : [{ "txid" : " deadbeef... " , "vout" : 0 , "valueSats" : 100000 }],
"inscriptionId" : " abc123...i0 " ,
"buyerPayTotalSats" : 51000 ,
"expectedSettlementTxid" : " settle1... " ,
"signerAddress" : " bc1q... " ,
"inputsToSign" : [{ "address" : " bc1q... " , "signingIndexes" : [ 0 ] }],
"psbtBase64" : " <base64-psbt> "
The preflight body, plus signed items:
Field Type Required Description walletBindingIdstring (UUID) yes paymentPublicKeystring yes inscriptionIdsarray yes Same 1 to 20 ids as preflight. priceSatsinteger yes Same as preflight. validityHoursinteger no Same as preflight. Defaults to 168 when omitted. selectedPaymentUtxosarray yes (min 1) The exact UTXOs from preflight. signedItemsarray yes One signed item per preflight item.
"walletBindingId" : " 55555555-5555-5555-5555-555555555555 " ,
"paymentPublicKey" : " abcdef... " ,
"inscriptionIds" : [ " abc123...i0 " ],
"selectedPaymentUtxos" : [{ "txid" : " deadbeef... " , "vout" : 0 , "valueSats" : 100000 }],
"inscriptionId" : " abc123...i0 " ,
"expectedSettlementTxid" : " settle1... " ,
"signerAddress" : " bc1q... " ,
"inputsToSign" : [{ "address" : " bc1q... " , "signingIndexes" : [ 0 ] }],
"psbtBase64" : " <signed-base64-psbt> "
Field Type Description itemsarray Created offer rows. items[].inscriptionIdstring items[].offerIdstring (UUID) items[].statusstring Always active on success. statusstring Always active on success.
"inscriptionId" : " abc123...i0 " ,
"offerId" : " 33333333-3333-3333-3333-333333333333 " ,
These calls do not take a PSBT.
POST /inscriptions/:id/offers/:offerId/cancel: buyer cancels their own offer.
POST /inscriptions/:id/offers/:offerId/reject: seller declines an offer they received.
Name Type Description idstring Inscription id. offerIdstring (UUID) Offer id.
Field Type Required Description walletBindingIdstring (UUID) yes
{ "walletBindingId" : " 55555555-5555-5555-5555-555555555555 " }
Field Type Description offerIdstring (UUID) statusstring cancelled for cancel, rejected for reject.
{ "offerId" : " 33333333-3333-3333-3333-333333333333 " , "status" : " cancelled " }
Two calls. The seller signs the seller side and the result broadcasts.
Field Type Required Description walletBindingIdstring (UUID) yes ordinalsPublicKeystring yes Public key for the ordinals address.
"walletBindingId" : " 55555555-5555-5555-5555-555555555555 " ,
"ordinalsPublicKey" : " abcdef... "
Field Type Description offerIdstring (UUID) targetFeeRateSatVbinteger estimatedNetworkFeeSatsinteger expectedSettlementTxidstring expectedPayoutTxidstring | null A separate payout tx, when one is needed. stepsarray One or two PSBT steps. steps[].stepIndexinteger 0 (and possibly 1).steps[].signerAddressstring steps[].inputsToSignarray steps[].psbtBase64string
"offerId" : " 33333333-3333-3333-3333-333333333333 " ,
"estimatedNetworkFeeSats" : 220 ,
"expectedSettlementTxid" : " settle1... " ,
"expectedPayoutTxid" : null ,
"signerAddress" : " bc1p... " ,
{ "address" : " bc1p... " , "signingIndexes" : [ 0 ], "sigHash" : 131 }
"psbtBase64" : " <base64-psbt> "
Field Type Required Description walletBindingIdstring (UUID) yes ordinalsPublicKeystring yes Same as preflight. expectedSettlementTxidstring yes From preflight. expectedPayoutTxidstring | null yes From preflight. May be null. signedStepsarray yes Wallet-signed steps. signedSteps[].stepIndexinteger yes signedSteps[].signerAddressstring yes signedSteps[].inputsToSignarray yes signedSteps[].psbtBase64string yes
"walletBindingId" : " 55555555-5555-5555-5555-555555555555 " ,
"ordinalsPublicKey" : " abcdef... " ,
"expectedSettlementTxid" : " settle1... " ,
"expectedPayoutTxid" : null ,
"signerAddress" : " bc1p... " ,
{ "address" : " bc1p... " , "signingIndexes" : [ 0 ], "sigHash" : 131 }
"psbtBase64" : " <signed-base64-psbt> "
Field Type Description offerIdstring (UUID) settlementTxidstring Broadcast settlement txid. payoutTxidstring | null Broadcast payout txid, when applicable. statusstring Always accepted on success.
"offerId" : " 33333333-3333-3333-3333-333333333333 " ,
"settlementTxid" : " settle1... " ,
A counter is the seller’s price on the same inscription. It sits on the offer as a pending counter until the buyer accepts, rejects, or it expires.
The counter PSBT has three steps:
Step Sighash Purpose 0DEFAULTTransfer the inscription. 1ALL | ANYONECANPAYSettlement. 2ALL | ANYONECANPAYRecovery.
Field Type Required Description walletBindingIdstring (UUID) yes ordinalsPublicKeystring yes priceSatsinteger yes Counter price in SATS. Must beat the current buyer offer by at least 1,000 SATS and be a multiple of 1,000 SATS. validityHoursinteger no One of 12, 24, 168, 720, 2160. Defaults to 168.
"walletBindingId" : " 55555555-5555-5555-5555-555555555555 " ,
"ordinalsPublicKey" : " abcdef... " ,
Field Type Description priceSatsinteger inscriptionUtxoValueSatsinteger sellerMarketplaceFeeBpsinteger sellerMarketplaceFeeSatsinteger buyerMarketplaceFeeBpsinteger buyerMarketplaceFeeSatsinteger sellerCreatorRoyaltyBpsinteger sellerCreatorRoyaltySatsinteger buyerCreatorRoyaltyBpsinteger buyerCreatorRoyaltySatsinteger sellerReceiveSatsinteger buyerPayTotalSatsinteger marketplaceRevenueSatsinteger creatorRevenueSatsinteger anchorUtxoIdstring (UUID) Send back at submit. targetFeeRateSatVbinteger estimatedNetworkFeeSatsinteger expectedTransferTxidstring expectedSettlementTxidstring stepsarray Three PSBT steps. steps[].stepIndexinteger 0, 1, or 2.steps[].signerAddressstring steps[].inputsToSignarray steps[].psbtBase64string
"inscriptionUtxoValueSats" : 546 ,
"sellerMarketplaceFeeBps" : 100 ,
"sellerMarketplaceFeeSats" : 600 ,
"buyerMarketplaceFeeBps" : 100 ,
"buyerMarketplaceFeeSats" : 600 ,
"sellerCreatorRoyaltyBps" : 0 ,
"sellerCreatorRoyaltySats" : 0 ,
"buyerCreatorRoyaltyBps" : 100 ,
"buyerCreatorRoyaltySats" : 600 ,
"sellerReceiveSats" : 59400 ,
"buyerPayTotalSats" : 61200 ,
"marketplaceRevenueSats" : 1200 ,
"creatorRevenueSats" : 600 ,
"anchorUtxoId" : " aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa " ,
"estimatedNetworkFeeSats" : 330 ,
"expectedTransferTxid" : " transfer1... " ,
"expectedSettlementTxid" : " settle1... " ,
{ "stepIndex" : 0 , "signerAddress" : " bc1p... " , "inputsToSign" : [{ "address" : " bc1p... " , "signingIndexes" : [ 0 ], "sigHash" : 0 }], "psbtBase64" : " <base64-psbt> " },
{ "stepIndex" : 1 , "signerAddress" : " bc1p... " , "inputsToSign" : [{ "address" : " bc1p... " , "signingIndexes" : [ 0 ], "sigHash" : 129 }], "psbtBase64" : " <base64-psbt> " },
{ "stepIndex" : 2 , "signerAddress" : " bc1p... " , "inputsToSign" : [{ "address" : " bc1p... " , "signingIndexes" : [ 0 ], "sigHash" : 129 }], "psbtBase64" : " <base64-psbt> " }
Field Type Required Description walletBindingIdstring (UUID) yes ordinalsPublicKeystring yes priceSatsinteger yes Same as preflight. validityHoursinteger no Same as preflight. Defaults to 168 when omitted. anchorUtxoIdstring (UUID) yes From preflight. expectedTransferTxidstring yes From preflight. expectedSettlementTxidstring yes From preflight. signedStepsarray yes Three wallet-signed steps. signedSteps[].stepIndexinteger yes signedSteps[].signerAddressstring yes signedSteps[].inputsToSignarray yes signedSteps[].psbtBase64string yes
"walletBindingId" : " 55555555-5555-5555-5555-555555555555 " ,
"ordinalsPublicKey" : " abcdef... " ,
"anchorUtxoId" : " aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa " ,
"expectedTransferTxid" : " transfer1... " ,
"expectedSettlementTxid" : " settle1... " ,
{ "stepIndex" : 0 , "signerAddress" : " bc1p... " , "inputsToSign" : [{ "address" : " bc1p... " , "signingIndexes" : [ 0 ], "sigHash" : 0 }], "psbtBase64" : " <signed-base64-psbt> " },
{ "stepIndex" : 1 , "signerAddress" : " bc1p... " , "inputsToSign" : [{ "address" : " bc1p... " , "signingIndexes" : [ 0 ], "sigHash" : 129 }], "psbtBase64" : " <signed-base64-psbt> " },
{ "stepIndex" : 2 , "signerAddress" : " bc1p... " , "inputsToSign" : [{ "address" : " bc1p... " , "signingIndexes" : [ 0 ], "sigHash" : 129 }], "psbtBase64" : " <signed-base64-psbt> " }
Field Type Description offerIdstring (UUID) The new counter offer’s id. parentOfferIdstring (UUID) The buyer offer this counter is on. statusstring Always active on success.
"offerId" : " bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb " ,
"parentOfferId" : " 33333333-3333-3333-3333-333333333333 " ,
Buyer declines a seller’s counter.
Field Type Required Description walletBindingIdstring (UUID) yes
{ "walletBindingId" : " 55555555-5555-5555-5555-555555555555 " }
Field Type Description offerIdstring (UUID) statusstring rejected.
{ "offerId" : " bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb " , "status" : " rejected " }
Two calls. The buyer signs payment inputs and the result broadcasts.
Field Type Required Description walletBindingIdstring (UUID) yes paymentPublicKeystring yes spendableUtxosarray conditional Up to 1000 candidate payment UTXOs. Required for API-created or non-Xverse bindings. Xverse bindings may omit it and use wallet-provider UTXO fallback. spendableUtxos[].txidstring yes spendableUtxos[].voutinteger yes spendableUtxos[].valueSatsinteger yes
"walletBindingId" : " 55555555-5555-5555-5555-555555555555 " ,
"paymentPublicKey" : " abcdef... " ,
{ "txid" : " deadbeef... " , "vout" : 0 , "valueSats" : 100000 }
Field Type Description offerIdstring (UUID) selectedPaymentUtxosarray targetFeeRateSatVbinteger estimatedNetworkFeeSatsinteger expectedFundingTxidstring expectedSettlementTxidstring stepsarray Two PSBT steps. steps[].stepIndexinteger 0 or 1.steps[].signerAddressstring steps[].inputsToSignarray steps[].psbtBase64string
"offerId" : " bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb " ,
"selectedPaymentUtxos" : [
{ "txid" : " deadbeef... " , "vout" : 0 , "valueSats" : 100000 }
"estimatedNetworkFeeSats" : 330 ,
"expectedFundingTxid" : " fund1... " ,
"expectedSettlementTxid" : " settle1... " ,
{ "stepIndex" : 0 , "signerAddress" : " bc1q... " , "inputsToSign" : [{ "address" : " bc1q... " , "signingIndexes" : [ 0 ] }], "psbtBase64" : " <base64-psbt> " },
{ "stepIndex" : 1 , "signerAddress" : " bc1q... " , "inputsToSign" : [{ "address" : " bc1q... " , "signingIndexes" : [ 0 ] }], "psbtBase64" : " <base64-psbt> " }
Field Type Required Description walletBindingIdstring (UUID) yes paymentPublicKeystring yes spendableUtxosarray yes (min 1) spendableUtxos[].txidstring yes spendableUtxos[].voutinteger yes spendableUtxos[].valueSatsinteger yes selectedPaymentUtxosarray yes The exact UTXOs from preflight. expectedFundingTxidstring yes From preflight. expectedSettlementTxidstring yes From preflight. signedStepsarray yes Both signed steps. signedSteps[].stepIndexinteger yes signedSteps[].signerAddressstring yes signedSteps[].inputsToSignarray yes signedSteps[].psbtBase64string yes
"walletBindingId" : " 55555555-5555-5555-5555-555555555555 " ,
"paymentPublicKey" : " abcdef... " ,
{ "txid" : " deadbeef... " , "vout" : 0 , "valueSats" : 100000 }
"selectedPaymentUtxos" : [
{ "txid" : " deadbeef... " , "vout" : 0 , "valueSats" : 100000 }
"expectedFundingTxid" : " fund1... " ,
"expectedSettlementTxid" : " settle1... " ,
{ "stepIndex" : 0 , "signerAddress" : " bc1q... " , "inputsToSign" : [{ "address" : " bc1q... " , "signingIndexes" : [ 0 ] }], "psbtBase64" : " <signed-base64-psbt> " },
{ "stepIndex" : 1 , "signerAddress" : " bc1q... " , "inputsToSign" : [{ "address" : " bc1q... " , "signingIndexes" : [ 0 ] }], "psbtBase64" : " <signed-base64-psbt> " }
Field Type Description offerIdstring (UUID) settlementTxidstring payoutTxidstring | null statusstring Always accepted on success.
"offerId" : " bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb " ,
"settlementTxid" : " settle1... " ,
GET /api/v1/me/offers
Cursor-paginated. The shape of 200 depends on view.
Name Type Default Description viewstring ownedOne of owned, sent, history. cursorstring Opaque cursor from the previous response.
viewReturns ownedOffers and counters on inscriptions held by your linked wallets. sentOffers your linked wallets have sent. historyPast offer activity for your linked wallets.
Field Type Description viewstring owned.groupsarray One group per inscription. groups[].inscriptionIdstring groups[].inscriptionNumberstring groups[].inscriptionTitlestring | null groups[].collectionNamestring | null groups[].ownerAddressstring groups[].actionBindingIdstring (UUID) | null Binding that can act on this group, when any. groups[].topOfferSatsinteger | null groups[].activeOfferCountinteger groups[].activeCounterCountinteger groups[].earliestExpiresAtISO datetime | null groups[].offersarray Buyer offers received on this inscription. groups[].sentCountersarray Seller counters sent from your linked wallets. groups[].offers[].idstring (UUID) Offer id. groups[].offers[].kindstring buyer_offer or seller_counter.groups[].offers[].statusstring See status table. groups[].offers[].sidestring received or sent.groups[].offers[].actionKindstring | null Action available to your wallet. groups[].offers[].buyerAddressstring groups[].offers[].sellerAddressstring groups[].offers[].priceSatsinteger groups[].offers[].createdAtISO datetime groups[].offers[].expiresAtISO datetime actionableCountinteger Total actionable items. ownedCountinteger Count for owned. sentCountinteger Count for sent. hasMoreboolean nextCursorstring | null
"inscriptionId" : " abc123...i0 " ,
"inscriptionNumber" : " 12345 " ,
"inscriptionTitle" : " Inscription 12345 " ,
"collectionName" : " Wizards " ,
"ownerAddress" : " bc1p... " ,
"actionBindingId" : " 55555555-5555-5555-5555-555555555555 " ,
"earliestExpiresAt" : " 2026-05-15T18:00:00.000Z " ,
"id" : " 33333333-3333-3333-3333-333333333333 " ,
"actionKind" : " seller_received_buyer_offer " ,
"buyerAddress" : " bc1q... " ,
"sellerAddress" : " bc1p... " ,
"createdAt" : " 2026-05-08T18:00:00.000Z " ,
"expiresAt" : " 2026-05-15T18:00:00.000Z "
Field Type Description viewstring sent.rowsarray One row per sent offer. rows[].idstring (UUID) Offer id. rows[].inscriptionIdstring rows[].inscriptionNumberstring rows[].inscriptionTitlestring | null rows[].collectionNamestring | null rows[].kindstring buyer_offer or seller_counter.rows[].statusstring rows[].sidestring received or sent.rows[].actionKindstring | null Action available to your wallet. rows[].buyerAddressstring rows[].sellerAddressstring rows[].priceSatsinteger rows[].createdAtISO datetime rows[].expiresAtISO datetime actionableCountinteger ownedCountinteger sentCountinteger hasMoreboolean nextCursorstring | null
"id" : " 33333333-3333-3333-3333-333333333333 " ,
"inscriptionId" : " abc123...i0 " ,
"inscriptionNumber" : " 12345 " ,
"inscriptionTitle" : " Inscription 12345 " ,
"collectionName" : " Wizards " ,
"buyerAddress" : " bc1q... " ,
"sellerAddress" : " bc1p... " ,
"createdAt" : " 2026-05-08T18:00:00.000Z " ,
"expiresAt" : " 2026-05-15T18:00:00.000Z "
Field Type Description viewstring history.eventsarray Past offer events. events[].eventKeystring Stable event key for pagination/rendering. events[].eventTypestring One of created, accepted, rejected, cancelled, expired, invalidated. events[].rolestring buyer or seller.events[].offerIdstring (UUID) events[].parentOfferIdstring (UUID) | null events[].inscriptionIdstring events[].inscriptionNumberstring events[].inscriptionTitlestring | null events[].kindstring buyer_offer or seller_counter.events[].statusstring See status table. events[].sidestring received or sent.events[].buyerAddressstring events[].sellerAddressstring events[].priceSatsinteger events[].occurredAtISO datetime events[].createdAtISO datetime events[].expiresAtISO datetime events[].settlementTxidstring | null events[].payoutTxidstring | null actionableCountinteger ownedCountinteger sentCountinteger hasMoreboolean nextCursorstring | null
"eventKey" : " 22222222-2222-2222-2222-222222222222:expired " ,
"offerId" : " 22222222-2222-2222-2222-222222222222 " ,
"inscriptionId" : " abc123...i0 " ,
"inscriptionNumber" : " 12345 " ,
"inscriptionTitle" : " Inscription 12345 " ,
"buyerAddress" : " bc1q... " ,
"sellerAddress" : " bc1p... " ,
"occurredAt" : " 2026-04-08T12:00:00.000Z " ,
"createdAt" : " 2026-04-01T12:00:00.000Z " ,
"expiresAt" : " 2026-04-08T12:00:00.000Z " ,