stream SDK wrap the producer side. The marketplace runs on the peaqOS orchestration backend, base path /api/v1.
Rolling out. The marketplace API is still being deployed — the
/api/v1/stream/* endpoints below may not be live on the production backend yet; treat the surface as beta (request and response shapes may still change). Since SDK 0.4.0, payment supports two rails: an on-chain transfer (peaq, Base, or Solana — EVM proofs can be RPC-verified against the transaction receipt) and signed authorizations. There is still no for stream purchases; broader on-chain settlement is part of the omnichain rollout.The supported client path is the SDK purchases flow —
createPurchase → createPurchasePaymentIntent → submitPurchasePaymentProof → getPurchaseDelivery — plus P2P or S3 delivery: see Stream: Distribution & P2P delivery. That flow has its own purchase lifecycle (delivery_reserving → … → completed) and auth headers (agent-pairing and machine-agent tokens), documented on the SDK page; the endpoints below are the earlier direct order surface and keep their own status model.The buyer journey
1
Discover
Browse active listings (
GET /stream/listings, filter by machine or storage) and fetch detail (GET /stream/listings/:listingId). A listing exposes the dataset’s machine identity, topic, time range, chunk count, storage type, and price — never plaintext.2
Verify before buying
Fetch the chunk and verify the machine’s Ed25519 signatures and that chunk hashes match the dataset’s . The trust model is in Data streams.
3
Order
Create an order (
POST /stream/orders) with the listingId, your buyerId, and your 32-byte X25519 buyerPublicKeyHex — the key your access grant will be wrapped to. Optionally select a chunk subset. The order starts payment_pending.4
Pay
Record payment (
POST /stream/orders/:orderId/payment) with your payment reference. The order moves to paid. (See the settlement caveat above.)5
Get access and delivery
Fetch delivery (
GET /stream/orders/:orderId/delivery?buyerId=...). Once the seller’s agent has prepared access, this returns your — the purchased keys re-wrapped to your public key — plus a delivery descriptor (a local delivery URL, or a walrus:// / s3:// / gdrive:// storage reference). In the SDK purchases flow, the equivalent getPurchaseDelivery call returns a P2P delivery session — transport, protocols, and a short-lived connect handoff.6
Receive and decrypt
Download the encrypted chunks from storage — or receive them machine-to-machine with the SDK’s
P2PDeliveryReceiver — unwrap each chunk key with your X25519 private key, and decrypt chunk by chunk (XChaCha20-Poly1305). You only ever receive keys for the chunks you bought.Buyer endpoints
Listings also surface in the Machine Markets catalogue as
data.stream services (skill stream-data-listing), so an can reach the same datasets through the Machine Markets order flow.
Authentication
Producing data
This page is the buyer side. To sell data, run the Stream Edge Agent or use thestream SDK — they sign, encrypt, chunk, list, and fulfil orders for you.

