detent.pause. prove. pay.

Detent secures agentic payments.

Verdicts. Receipts. Locks. Approvals. Alerts. Guards.
All of the assurance agents need*

* and the humans who own them. Non-custodial, no token, no model in the verdict path.

Live from the receipt log. Every card is a real verdict a real agent got.

Move at agent speed

Speed.

Seven deterministic checks in the agent's own process. Engine time, p50, measured on the log behind this page. No network hop, no model, no waiting on us.

Observability.

Every verdict leaves a signed, hash-chained receipt, refusals included. Anyone can rebuild it offline. That number is the log right now.

One API.
3 doors

An MCP server for framework agents, a TypeScript SDK for everyone else, and the HTTP API underneath both. Same verdicts, same receipts.

Flows

Four things can happen to a payment an agent attempts. Each one is a flow, and each one ends in a receipt.

Control

Agents are keys. Mandates are what a human signed. Receipts are what happened. The three are linked by hashes, so an auditor can read the whole story without asking us.

See the agents
Identityevery agent is a signing key on a mandate the owner signed. an unlisted key is a DENY before anything else is read
Capssingle-payment and rolling caps live in the mandate and are mirrored into the on-chain lock. nobody between the owner and the chain can lift them
Kill switchvelocity zero for a fleet, on every venue at once. the firing is itself a receipt
Outcome labelsconfirmed loss, human override, simulation mismatch, policy breach, counterparty dispute. one slot per receipt, empty at issuance, the corpus the watchdog learns from
Tool guardtool definitions pinned by hash at approval. one that changes after you said yes is not the tool you said yes to

Developers

// claude_desktop_config.json · cursor · any mcp host
{
  "mcpServers": {
    "detent": { "command": "npx", "args": ["-y", "detent-mcp"] }
  }
}

> detent_check({ amount: "4900", cap: "500" })
  DENY · amount_exceeds_cap · receipt 502abb0c…

Built to be checked

Receipts
signed, chained, verifiable offline
Withheld
Agents
Engine p99
engine time, never end to end
non-custodialfido2 dynamic linkingopen verifierfips 204 pathowasp asi mappedbase sepolia · testnet
pause. prove. pay.

Nothing moves until it clears.