What ships
How it works
- Activate the machine. Run Activate to , , smart account, and post the bond. Pairing requires an active, bonded machine.
- Prove identity ownership.
POST /machine-identity/challengesreturns a message that the DID-controller key signs (). The signed proof is attached when the machine is registered with the orchestration service. - Provision a Machine Agent. Get an agent from any provider you trust: Claude, OpenAI, Virtuals, Teneo, your own runtime. peaq does not provide the agent.
- Pair the agent. is -based.
POST /machines/:machineId/agent-pairings/challengeswith the agent’sagentAddress,agentProvider,agentRole, and optionalagentDid. The response is anAgentPairingChallengewithchallengeId,message, andexpiresAt.- The Machine Agent signs
message(EIP-191personal_sign) with the wallet key behindagentAddress. POST /machines/:machineId/agent-pairingswithagentProof: { challengeId, signature }and the delegation policy. The orchestrator verifies the signature, persists the pairing withverificationmetadata, and returns theAgentPairingwith a signed session JWT inpairingToken. Store it client-side and send it asx-agent-pairing-tokenon market writes.- Tokens expire (default 1 hour). Rotate by issuing a fresh challenge and calling
POST /machines/:machineId/agent-pairings/:pairingId/sessionswith the new proof. Rotate after anyPATCHto the delegation policy.
- Search the market. The agent calls
POST /market/searchwith machine context, service type, capabilities, region, budget, and optionalproviderCredentials. The orchestrator returns rankedMarketQuotes with reasons for each ranking. - Place an order.
POST /market/orderswithmachineId,agentPairingId,serviceId, and optionalsearchId+quoteIdcreates an order (statuscreated). The orchestrator enforces the and per-transaction and daily spend limits at create. The recommended is copied from the service intoorder.payment. - Settle payment.
POST /market/orders/:orderId/payment-intentmints a payment record on the chosen rail. For wallet-based rails, submitPOST /payment-proofafter the transfer (EVM proofs are RPC-verified against the ERC-20 Transfer log). For the x402 rail there is no buyer transfer — the agent wallet signs the provider’s payment challenge and the signed header is the proof; the provider is paid during execute. For rails, callPOST /payment/escrow-lockwith the on-chain lock transaction. Once funds clear, the order moves toready. - Execute.
POST /market/orders/:orderId/executematerialises the order as a task plus route, dispatches to a native provider or a machine-side runtime endpoint, and writes aRunplus anOutcome. Successful runs land indelivered. External-handoff services return a structured handoff and land inhandoff. - Confirm or dispute.
POST /market/orders/:orderId/confirmcloses the order and triggerspayment/releasefor held funds. If the service did not deliver,POST /market/orders/:orderId/disputeopens a dispute and freezes payment until peaq resolves it.
Read-only shortcut
Free, read-only operations can skip the order flow entirely.POST /market/services/:serviceId/execute runs the operation directly with machineId, agentPairingId, operation, and optional input / providerCredentials. The orchestrator dispatches through the same task + route + run + outcome machinery as executeMarketOrder but does not create an order, payment intent, or escrow record. Paid, external-handoff, and state-changing operations still go through POST /market/orders.
Payment model
peaqOS does not collect marketplace payments. The payment-intent and payment-proof endpoints record provider/service payment state only when the selected adapter requires direct provider payment. Operators or machines pay the selected provider directly through that provider’s supported rail. Raw payment headers are never stored.Payment rails
The orchestrator quotes services in the rail the provider supports. Active rails:
The orchestrator handles conversion when a service quotes in a chain or token the agent does not natively hold.
Service providers
At launch:- QVAC private inference (Tether strategic, co-announced).
- The agentic.market suite over x402: Claude, ChatGPT, 2Captcha, Firecrawl, Wolfram|Alpha, Exa.
- The pay.sh suite: Gemini, BigQuery, Document AI, StableUpload, Cloud Translation.
- Akash — decentralized compute.
- GEODNET — RTK precision-positioning data.
- Arcium — confidential compute.
- Acurast — decentralized compute; its Deploy Agent runs as a native provider runtime in the orchestrator.
- Naver Maps — mapping and geolocation APIs.
GET /market/services and market search.
Delegation policy
PATCH /machines/:machineId/agent-pairings/:pairingId. Revoking a pairing (DELETE) terminates the agent’s delegated access immediately, unless the pairing has open market orders (OPEN_MARKET_ORDERS).
Multichain
peaqID, Machine NFT, and the stay canonical on peaq. Smart accounts and Machine NFTs deploy to supported chains (Agung and Base Sepolia at launch). Machine Agents pay across chains using the chain and token a service quotes in. A six-daemon Signer Daemon fleet watches finalized peaq and Agung events, packages them into EIP-712 batches, and pushes them to per-chain Lite contracts (DIDLite, IdentityLite, StakingLite). Read full architecture in the Omni-chain concept. See the roadmap for chain rollout.
Build with Scale
Machine Markets API
Base path, access model, error codes, and the full HTTP endpoint surface.
Machine Markets (concept)
How pairing, skills, services, orders, payments, and execution hang together.
peaqOS CLI: `scale`
peaqos scale agent pair, search, and the order family from your terminal.
