Overview

Satflow Marketplace API

The Satflow Marketplace API allows anyone with a valid key to interact with Satflow to manage item listings and bids, make purchases, and explore activity on the platform.

The API supports the following:

  • Item and collection details: Get information about items, collections and wallets on Satflow.
  • Listing items for sale: Create and manage listings for selling items on Satflow.
  • Bidding on items: Create and manage bids on items, collections and traits, and accept bids on items you own.
  • Purchasing items: Buy listed items.
  • Listing, bid and sales data: Retrieve current listings and bids, and historical sales.

A great open source example on how to use the Satflow endpoints can be found in our open source market maker repo, Satflow Market Maker.

Authentication

Obtaining an API Key

This API requires an API key for authentication. You can request an API key on Google Forms.

Once you obtain your API key you will be required to add the x-api-key header with your unique API key to your request.

curl -X 'GET' \
  'https://api.satflow.com/v1/collection-stats?collectionId=YOUR_COLLECTION_ID' \
  -H 'accept: application/json' \
  -H 'x-api-key: YOUR_API_KEY'

Endpoints

NetworkBase URLDocumentation
BTC Mainnethttps://api.satflow.com/v1docs.satflow.com

Every path in this reference is relative to the base URL: GET /item is https://api.satflow.com/v1/item.

Errors

A request that fails returns a JSON body with error, a message saying what went wrong, and usually code. Many errors also carry an errorCode that names the case, and details; the endpoint pages and the guides list them.

StatusMeaning
400The request is not valid, for example a JSON body that cannot be parsed. The message says what to change.
402The wallet paying for the transaction does not have enough funds.
403A signature or wallet credential does not verify. A request without a valid x-api-key returns 403 with {"message": "Forbidden"}.
404Not found, or no longer available.
409The order or transaction is not in a state that allows the request, usually because it changed. Fetch it again before you retry.
413The request is too large (a JSON body is limited to 100 KB), or the wallet it reads is too large for the endpoint.
422The wallet has too many outputs to read right now.
429Too many requests. Wait retryAfterMs milliseconds, when the response gives it, before sending again.
500Something failed on Satflow's side.
503A service Satflow depends on is unavailable or slow. Try again later.

Rate Limits

API TierRate Limit
PartnerDepends on requirements

What's New

API changes are announced in the Changelog.

Issues & Feature Requests

For issue reports and feature requests, please contact support on Discord.