https://sandbox-api.nuvante.ioAPI reference
Sandbox API conventions
The public API is versioned under /api/v1 and uses JSON for requests and responses.
Base URL
https://sandbox-api.nuvante.ioSystem status
GET /api/v1/system/status tells you how the engine, the on-chain probe and the settlement adapter are doing.
curl "https://sandbox-api.nuvante.io/api/v1/system/status" \
-H "Authorization: Bearer nvt_sandbox_your_key"A successful response contains data and meta. The status data includes checkedAt, the engine and on-chain status, the RTGS connection state and, where available, latency figures.
Transactions
Transaction operations live under /api/v1/transactions. A clearing member with transactions:write can initiate a transaction with POST. To read transactions you need transactions:read, and transactions:write covers it too.
POST /api/v1/transactions
GET /api/v1/transactions
GET /api/v1/transactions/{id}
POST /api/v1/transactions/{id}/cancelAn initiation request has a useCase (redeem or swap), a payment reference, and source and target money objects. A successful initiation returns 201. You can also include an optional agent field (agentId and mandateProof) when an autonomous agent is submitting on a participant's behalf.
Reserve proofs
Issuers generate and verify ZK reserve proofs under /api/v1/reserves. This needs the generateReserveProof capability, which only issuer tenant admins have.
POST /api/v1/reserves/{issuerId}/proof/generate
GET /api/v1/reserves/{issuerId}/proof
POST /api/v1/reserves/proof/verifyProofs are verified against reserve-policy-v1-sandbox, and any artifact with a different key ID is rejected with a 400. The Reserve proofs reference has the full request and response details.
Agents
Tenant admins mint agent identities under /api/v1/sandbox/agents and submit transactions through them. Mandate scoping, capability intersection and revocation are all live today. Interoperability across platforms (AP2 and x402, DIDs, credentials recognised between organisations) is planned for Phase 2. See Agentic compliance. You'll need manageOwnAgents.
POST /api/v1/sandbox/agents
GET /api/v1/sandbox/agents
GET /api/v1/sandbox/agents/{id}
POST /api/v1/sandbox/agents/{id}/revokeAgent mandates are checked against your capabilities when they're minted. Expired or revoked mandates and over-scope transactions are all rejected before they reach the clearing core. See the Agents reference.
Webhooks
Register HTTPS endpoints for transaction and reserve events under /api/v1/webhooks. This needs webhooks:manage. Deliveries are signed with HMAC-SHA256 over timestamp.body and have a five-minute replay window.
POST /api/v1/webhooks
GET /api/v1/webhooks
GET /api/v1/webhooks/{id}
DELETE /api/v1/webhooks/{id}Event notifications has the full delivery contract.
Production
Production runs at https://api.nuvante.io, with the same auth model and API surface as sandbox. To settle through a particular central-bank scheme, Nuvanté still needs to hold real participant status at that scheme.
Idempotency and versioning
For requests that change something, you can send an optional Idempotency-Key header (up to 256 characters) so retries are safe. Conflicts return 409. Every response includes the API version used in a Nuvante-Version header, and you can pin a supported date version by sending the same header on your request.
Response envelopes
Successful responses contain a data object and meta. Failed requests contain an errors array and meta. Base your handling on the structured type and code fields, because message text can change.
