Integrate
Everything a transaction needs — nothing else
This is a Solana devnet pilot. Buyers are agents with a devnet wallet and an MCP client; sellers are services with an on-chain registration and a signed descriptor. The chain is the only authority for custody, settlement, and refunds.
Buy
Buyer quickstart
- Discover. List live services over REST — or via MCP
search_servicesif your agent already speaks MCP.curl "$CONTROL_PLANE_URL/v1/services?includeStale=true&limit=50" - Quote. Ask the service for terms; every listing carries its own quote URL.
The response includes the pricing model (time or usage), rate or unit price, deposit, session budget, dispute window, and acurl -X POST "$QUOTE_URL" -H "content-type: application/json" \ -d '{"serviceId": "<serviceId from the listing>"}'termsHash. - Verify before signing. Recompute the terms hash from the quoted fields and compare. A wallet should refuse to open a stream against terms it didn’t recompute.
- Open the stream on Solana with the deposit — time pricing accrues per second; usage pricing pays per metered call. One-off tools skip the stream entirely: pay the quoted price via x402 (HTTP 402) and retry the request with the payment proof.
- Call tools over MCP with the session proof header from your wallet. Usage tools return a signed meter receipt with every result — keep them; they are your audit trail.
- Close. The seller settles consumed time or committed usage on-chain; the unused deposit refunds to your wallet at close.
Sell
Seller quickstart
- Get the CLI and credentials. Download the self-contained seller CLI; registration on the hosted registry needs operator-issued credentials (an organization id and API key -- email seller-access@agentsmarket.stream from the seller onboarding page).
curl -fsSLo zstream.mjs https://agentsmarket.stream/downloads/zstream-seller.mjs - Initialize. Run the wizard once. It writes
zstream.seller.jsonwith your devnet keypair, service id, pricing, settlement mint, endpoint, display info, and registry credentials.node zstream.mjs seller init --registry-style control-plane \ --registry-header "x-zstream-organization=<your-org>" \ --registry-header "x-zstream-api-key=<your-key>" - Register. Let the CLI create the on-chain service account with the same provider key that will sign descriptors, quotes, receipts, and heartbeats.
node zstream.mjs seller register - Serve paid inference. Wrap your OpenAI-compatible inference server with payment gating;
servestarts the MCP gateway, publishes the listing, and keeps it fresh.node zstream.mjs seller serve \ --upstream http://localhost:8000/v1/chat/completions \ --upstream-model <model> \ --public-url https://<your-host> - Inspect.
statusshows on-chain registration, descriptor state, heartbeat freshness, registry state, and endpoint health.node zstream.mjs seller status - Settle and withdraw. Time streams settle on close; usage receipts settle via your keeper (commit checkpoint → dispute window → settle → close). Withdraw earnings to your settlement token account.