Skip to main content
The Machine Markets API is the HTTP/JSON interface for Scale. It handles machine identity proofs, machine records, , the skill registry, the service catalogue, and machine-aware market search.

Base path

All endpoints sit under /api/v1 on the orchestrator host. The canonical peaq-managed endpoint is https://orchestration.peaq.xyz:
GET /health is an exception: it lives at host root, not under /api/v1, and is exempt from API-key auth. Self-hosters can run their own orchestrator via Docker Compose and point PEAQOS_ORCHESTRATION_URL at it.

Access model

  • The API is public unless the deployment enables API-key auth (PEAQOS_REQUIRE_API_AUTH=true).
  • Machine registration accepts identityRef as either a peaq (did:peaq:0x...) or a peaqOS machine public ID (peaqos:machine:<id>).
  • When PEAQOS_MACHINE_IDENTITY_VERIFICATION=required (production default), every machine registration and machine-bound write verifies identityRef against peaqOS data and requires a signed DID-controller challenge.
  • Machine Agent pairing is challenge-based. The agent signs a server-issued challenge with the wallet key behind agentAddress (). The orchestrator verifies the signature, persists the pairing, and issues a signed session JWT as pairingToken.
  • Market search requires (a) an active, bonded peaqOS machine, (b) a verified identityRef with ownership proof, and (c) an active Machine Agent pairing.
  • When PEAQOS_REQUIRE_AGENT_PAIRING_AUTH=true (production default), market search must include the x-agent-pairing-token header. The token is a signed HS256 JWT with claims for machineId, pairingId, sessionId, agentAddress, agentDid, delegationPolicyHash, and expiry. Rotate it via the pairing sessions endpoint before exp.
  • The pairing token proves delegated permission. It does not prove machine activation.
  • Pass provider credentials per request under providerCredentials. They feed runtime discovery and are redacted before persistence.

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 (x402, , wallet rails). Operators or machines pay the selected provider directly through that provider’s supported . pay.sh and Agentic Market services use request-scoped payment proofs: the API returns the provider’s payment challenge from payment-intent, the operator agent signs or pays locally, and the resulting proof or header is sent to payment-proof and execute. Raw payment headers are never stored.

Common envelopes

Error codes

Common types

Pagination

Every list endpoint accepts ListQuery. Cursors are opaque — do not parse them.
Rules:
  • First page omits cursor.
  • nextCursor is omitted when there is no next page. It is never null.
  • Pass nextCursor back unchanged on the next request.
  • Invalid limit (out of range or non-integer) or malformed cursor returns 400 VALIDATION_ERROR.

Health

Endpoint groups

Machines & identity

Identity challenges, machine CRUD, EIP-191 controller proofs.

Machine Agent pairings

Challenge-based pairings, session JWT rotation, delegation policy.

Skills & services

Browse the skill registry, the partner service catalogue, and the adapter setup catalogue; run market search.

Market orders & payments

Order lifecycle, payment intent, escrow, execute, confirm, dispute.

Orchestration

Runtime endpoints, machine-side agents, graph, tasks, routes, outcomes, runs, policies, audit events.

Server configuration

When self-hosting the orchestrator, these toggles change the contract callers see. Defaults match the .env.example ships.