raresats.net API
Offers API View as Markdown

Get the best offers

GET/api/market/offers/best

The best active offer (the highest price, the oldest first) of up to 100 outpoints, keyed by outpoint. Outpoints without one are absent. A listing carries its own as best_offer.

Query parameters #

ParameterTypeRequiredDescription
outpointsstringyes1-100 outpoints (txid:vout), comma-separated.

Example request #

cURL
curl 'https://raresats.net/api/market/offers/best?outpoints=24b3eedfdc210f4a5baa96a6c99db5a51d3b1286ab2f58cb0b16fc607e54107f:0'
JavaScript
const response = await fetch('https://raresats.net/api/market/offers/best?outpoints=24b3eedfdc210f4a5baa96a6c99db5a51d3b1286ab2f58cb0b16fc607e54107f:0');
const data = await response.json();
Python
import requests

data = requests.get("https://raresats.net/api/market/offers/best", params={"outpoints": "24b3eedfdc210f4a5baa96a6c99db5a51d3b1286ab2f58cb0b16fc607e54107f:0"}).json()

Response 200 #

FieldTypeDescription
offersmap of OfferThe best active offer of each outpoint asked for that has one, keyed by outpoint.
Response
{
  "offers": {
    "24b3eedfdc210f4a5baa96a6c99db5a51d3b1286ab2f58cb0b16fc607e54107f:0": {
      "id": "dbf866a1e7e209e7",
      "kind": "item",
      "outpoint": "24b3eedfdc210f4a5baa96a6c99db5a51d3b1286ab2f58cb0b16fc607e54107f:0",
      "value": 10000,
      "seller_address": "bc1p5cyxnuxmeuwuvkwfem96lqzszd02n6xdcjrs20cac6yqjjwudpxqkedrcr",
      "price": 110000,
      "platform_fee": 2750,
      "fee_rate": 3,
      "network_fee": 963,
      "total": 113713,
      "vsize": 321,
      "unit_price": 100000,
      "row": "decasat_alpha",
      "count": 1,
      "rows": {"uncommon": 1, "alpha_uncommon": 1, "decasat_alpha": 1},
      "types": [
        {
          "types": ["uncommon", "decasat_alpha", "alpha"],
          "count": 1,
          "sats": [441000000000000]
        }
      ],
      "sats": 1,
      "ranges": [[441000000000000, 441000000000000]],
      "years": {"2010": 1},
      "bidder_payment_address": "bc1p4qhjn9zdvkux4e44uhx8tc55attvtyu358kutcqkudyccelu0was9fqzwh",
      "bidder_ordinals_address": "bc1p4qhjn9zdvkux4e44uhx8tc55attvtyu358kutcqkudyccelu0was9fqzwh",
      "status": "active",
      "created_at": 1790967012,
      "updated_at": 1790967012,
      "expires_at": 1791571812,
      "reason": null,
      "txid": null,
      "listing_id": "5e1cb930f43354c3",
      "acceptance_public": false
    }
  }
}

Errors #

{error, code}; see Errors for every code.

StatusCodeMeaning
400bad_outpointNot an outpoint (txid:vout).
400bad_outpointsoutpoints lists none, or more than 100.
Error (400)
{"error": "outpoints must list 1-100 outpoints", "code": "bad_outpoints"}

The best offer is the highest price; between equal prices, the oldest. Every Listing carries its UTXO's own as best_offer (a short form), so a page of listings needs no extra call.