CertifiedData.io
Agent Commerce
DEMO
Anonymous sandbox3 sandbox keys / 24h

Agent Commerce API

AI agents quote, policy-evaluate, authorize, execute, and receive Ed25519-signed receipts for every transaction. Every step produces a machine-readable proof artifact — independently verifiable, no platform dependency required.

Transaction flow

1
CreatePOST /v1/transactions

Describe the transaction — amount (cents), currency, rail, purpose. Returns a created Transaction with policy preview.

2
EvaluatePolicy engine

Runtime policy evaluation against your configured controls: spend limits, counterparty allow-lists, purpose restrictions, rate limits.

3
Attach linksPOST /v1/transactions/{id}/attach-links

Bind provenance — artifact_id, certificate_id, decision_record_id, dataset_id. Provenance is immutable after capture.

4
CapturePOST /v1/transactions/{id}/capture

Charge the rail and inline the signed receipt in the response. Sandbox: fake settlement. Production: live Stripe or future rails.

5
ReceiptResponse

Ed25519-signed receipt returned inline. Contains: amount, rail, counterparty, policy result, timestamp, signature, key ID, sha256_hash, and verify URL.

6
VerifyGET /api/payments/verify/{receipt_id}

Any party can verify the receipt signature against the public key without contacting CertifiedData.

Signed receipt structure

receipt shape · Ed25519-signed
{
  "receipt_id": "rcpt_xxxx",
  "amount": 49.00,
  "currency": "usd",
  "rail": "stripe",
  "counterparty": "vendor:synthetic-data-co",
  "purpose": "dataset_purchase",
  "status": "settled",
  "policy_result": "approved",
  "policy_version": "spend-limit-v2",
  "signed_at": "2026-04-21T12:00:00Z",
  "key_id": "key_xxx",
  "signature_alg": "Ed25519",
  "signature": "...",
  "verify_url": "https://certifieddata.io/api/payments/verify/rcpt_xxxx"
}

API examples

Get sandbox key (no account)
# Get a sandbox API key (3/24h · no account)
curl -X POST https://certifieddata.io/api/sandbox/agent-key \
  -H "Content-Type: application/json" \
  -d '{"purpose":"demo"}'
Quote a transaction (authenticated)
curl -X POST https://certifieddata.io/v1/transactions \
  -H "Authorization: Bearer $CERTIFIEDDATA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 4900,
    "currency": "usd",
    "rail": "stripe",
    "purpose": "dataset_purchase",
    "metadata": {
      "dataset_cert_id": "cert_abc123",
      "agent_id": "agent:procurement-v2"
    }
  }'
Verify receipt + signing key
# Verify a receipt
curl "https://certifieddata.io/api/payments/verify/rcpt_xxxx"

# Signing public key
curl "https://certifieddata.io/.well-known/certifieddata-public-key.pem"

Payment rails

RailStatus
StripeActive (Phase 1)
USDC on BasePhase 2 — planned
ETHPhase 2 — planned

Capability matrix

ActionAnonymousAuthenticatedProductionPublic Proof
Get sandbox key✓ 3 keys / 24h✓ unlimited
Quote a transaction✓ sandbox only
Policy evaluation✓ sandbox rules✓ custom✓ custom✓ on receipt
Authorize transaction✓ sandbox
Execute transaction✓ sandbox (fake settle)✓ sandbox✓ live rails
Receive signed receipt✓ sandbox receipt✓ verify URL
Verify receipt✓ no limit✓ public endpoint
Live Stripe rail✗ Build+✓ Build+✓ receipt
Dashboard approvals
Spend governance policies✓ Build+✓ Build+✓ policy on receipt
Agent Commerce API — Integration Reference for AI Agent Developers | CertifiedData