Skip to content

How it works

Three layers in a fixed order. Your rules run first and can allow, deny, or hold. The content check can deny a flagged payment or hold an unfinished check for you.

Seller pageYour agentreads the page,proposes to payThe guard, on your sideYour rulesdecideContent checkcan block or holdproxy URL,SDK, MCP toola deny rulea review rule(a first payment,too many an hour)flaggedevery rule passed,check clearwaits on the review page,2 minutes by defaultDENIEDREVIEWALLOWEDNothing paid.Held for you.Seller paid.Seller pageYour agentreads the page,proposes to payThe guard, on your sideYour rulesdecideContent checkcan block or holdproxy URL,SDK, MCP toola deny ruleDENIEDNothing paid.a review rule (a first payment,too many an hour) or an unfinished checkwaits on the review page,2 minutes by defaultREVIEWHeld for you.every rule passed, check clearALLOWEDSeller paid.

A wallet spending limit is worth keeping, but under the limit it cannot see a payment the page redirected to another payee, and it cannot hold one for a person.

Your rules run first

All decision rules

Your allowlist is the list of sellers you approved. You also list what the agent may buy, and you set a limit per payment, a daily cap, how many payments an hour are normal, and which EVM contract calls are denied. The network is Base Sepolia by default; Solana Devnet also uses test USDC. Base and Solana Mainnet move real USDC when selected.

The content check runs second

It reads the page, the 402 terms, or the text the tool passed, and looks for orders aimed at the agent rather than at a reader. A completed block denies the payment. An unfinished check sends it to review, and a clear result leaves your payment rules in force.

Anything unsure waits for a person

A held payment waits in the dashboard for two minutes by default. You can answer from a phone.

Through the proxy the request is held for up to 35 seconds. If you have not answered by then, the client gets the 402 back, and its next attempt at the same URL picks up the same decision until the two minutes run out.

Through the SDK the agent waits the two minutes by default, so a hold that reaches you by webhook, email, or push is still open when you answer. Through the MCP tool it waits the same two minutes. Then the SDK throws without paying, and the tool tells the agent not to pay until a person approves. Pick Approve and always allow this payee, and the agent's next payment to that seller skips the first-payment review.

Three ways in

For agents that pay over x402.

Proxy URL

The proxy checks the signed payment before it forwards it to the seller, so a deny means the payment does not go out.

SDK for TypeScript

The SDK checks the payment before the client signs it, so a deny means nothing is signed.

MCP tool for Claude Code, Codex, and any MCP client

The agent asks it before paying, and chooses whether to ask, so an agent that skips it can still pay.

Observe and enforce

Every key starts in enforce mode. Switch one to observe on the Agents page to log each decision with what enforce would have done, without blocking, then back to enforce when its log looks right.

observe blockswrong network, wrong asset, payee not in the 402, per-minute ceiling
enforce blocksevery deny

What it cannot do

Security model

The guard decides for the payments you route through it. An agent that skips it can still pay, so route the payments through the proxy or the SDK and keep the wallet small. A wallet-side lock that makes skipping impossible is not built yet.

Put a guard between your agent and whatever it reads.

Change one string. The guard checks every payment you route through it before it goes out and explains each decision in a sentence. Free in the beta, no card.