The payment stack for agent commerce. Discovery, checkout, risk, payment and post-purchase, on one evidence ledger both sides can verify.

Risk Control on Enruta | Christmas Checkpoint 2:01

Watch on YouTube

One purchase, two sides. The agent pays under a policy. The merchant verifies the same mandate. Both records chain together.

Trust, and who pays whom. Before payment: who the agent is and what the person meant. After: where every dollar went.

  • The person’s words become slots. Rules decide first; a model decides the rest if the policy allows. A missing detail becomes a question, not a guess.

    Intent and clarification

One record per attempt. Request, decision, approval, execution and seal in one file, verifiable offline.

Reversals, settlements and reconciliation lines chain after it  ·  enruta-verify record.json → PASS

The record as JSON
record.json
{
  "record":    { "id": "rec_01J9Q2W6G5X8ZK3R7T1V9M4N2B", "schema": "enruta/0.3", "sequence": 4127 },
  "kind":      "payment",
  "principal": { "id": "org_halvern", "login_id": "halvern/dana.reyes@halvernrobotics.com" },
  "agent":     { "id": "agt_procurement_02", "host": "claude-code", "identity": { "assurance": "A2" } },
  "policy":    { "id": "pol_office_supplies", "version": 7 },
  "request":   { "payee": "reamandrule.com", "amount": "168.40", "currency": "USD", "intent": { "text": "Restock the print room" } },
  "payee":     { "identity": { "status": "verified" } },
  "decision":  { "result": "step_up", "risk": { "action": "manual_review", "score": 0 } },
  "approval":  { "by": "usr_approver", "method": "passkey", "binds": "sha256:9f1c…2e4a" },
  "mandate":   { "id": "mnd_7c2a…d1f0", "single_use": true, "ledger": { "captured": "168.40", "remaining": "0.00" } },
  "receipt":   { "order_id": "ord_2211", "digest": "sha256:77ab…" },
  "seal":      { "alg": "sha256", "hash": "b0d4…71c9", "prev": "e91a…0c3d" }
}

Six supporting objects. Everything after the payment is an object, and every object is a sealed record on the same chain.

All six are live.

The risk assessment comes with every decision, sent to the merchant as a signed risk_signals entry. The money split shows who paid, received and earned.

Three promises you can check. Faster, cheaper and better, each where we can prove it.

Faster

Only where incumbents do not go. Where they compete, we claim no speed edge.

  • Across rails. One signed policy compiled onto each rail’s own control: Stripe Issuing, Mercury, Ramp, Bill.com, Stripe Shared Payment Tokens, Link, x402, MPP and UCP checkoutsCheck it: card_control_state in every record says what the rail was told
  • Across PSPs. An agent order labelled with agent_id, mandate_ref and policy_version in the fields each PSP keeps: Stripe, Adyen, Checkout.com, Braintree, PayPal, Worldpay, Gr4vy, Spreedly and ShopifyCheck it: GET /v0/records/{id}/psp-metadata and the seller-side record
  • Portable records. JCS canonicalization, JWS signatures, RFC 3161 time-stamps, a hash chainCheck it: npx enruta-verify record.json, no account
  • Reversals and disputes as objects. Not notifications: request_reversal and the dispute packet are decided, executed and sealedCheck it: The linked record chained to the payment

Cheaper

Only in disputes, compliance evidence and merchant-side agent governance. Execution is not compared: Enruta charges nothing on it.

  • Disputes. A dispute packet is $5 beyond the plan’s allowance, per packet, never per outcomeCheck it: Pricing
  • Compliance evidence. The record is the evidence; the compliance export is in every planCheck it: Compliance export
  • Merchant-side agent governance. Accept is free permanently; Storefront is $499 a month per domainCheck it: Pricing
  • Execution and credentials. Not compared: Enruta charges nothing on executionCheck it: What is never charged

Better served

Six things, all of them product features rather than words.

  • Self-serve sandbox. POST /v0/sandbox/keys issues a sandbox organization and keys without a personCheck it: Quickstart
  • Public unit prices. Every price for all three roles is on one pageCheck it: Pricing
  • Public specification. The object schemas, the JSON Schema, the test vectors and the verifier source, published togetherCheck it: Evidence Record schema
  • Status and date on every page. Live, preview or planned, and when it last changedCheck it: Any docs page
  • Three role views. The docs ordered for agents, sellers and platformsCheck it: Docs
  • A conformance check with a badge. enruta validate <endpoint> and a verifiable badge for merchantsCheck it: Conformance

Live today. What is running, where, since when.

Rails and PSP adapters that depend on a third party carry their own status on the rails page and the sellers page; the boundary page says where a purchase may still stop.

Why Enruta exists. AI should extend what people can do, and respect their autonomy.

Enruta builds the trusted payment and commerce infrastructure of the AI era. It connects AI agents with merchants, so that consumers, businesses and everyone else in the commercial ecosystem get a more convenient, more efficient and more reassuring way to pay and be paid.

We let AI take part in a transaction only within an explicit authorization. It executes the person’s intent faithfully, and the person can always supervise, intervene and revoke. That is the guard against misuse, overreach and loss of control, and it is how the value AI creates in commerce reaches the people it works for.

Vision
Human-centred agent commerce: more efficient, a better experience, and people stay in charge of their own money.
Mission
Build the trusted payment infrastructure between AI agents and merchants, so that every transaction stays within the person’s intent and authorization.

Working with the first design partners.

A few companies, agent builders and merchants are shaping the first records with us. If your agents pay, or you sell to agents, write to us.

See what you’ll pay

Every price is public, on one page.

Pricing

Start building

A sandbox organization and keys from one call, without a person.

Quickstart