AGENT WALLETS · X402 · MCP · PAYMENT RUNTIMES

Keep payment authority. Add an independent action gate.

Your wallet already decides whether the agent may spend. HumanMirror answers a different question immediately before the side effect: what is the agent actually about to do, and can that action be independently screened and evidenced?

Custodystays with you
Private keysnever sent
Safe Preflight0.010 USDC
NetworkBase / USDC

Two gates, not one

1 · Wallet policy

Your wallet or payment runtime remains the authority for payee, amount, budget, mandate, approval and signing. HumanMirror does not custody funds and does not replace those controls.

2 · Action policy

HumanMirror Safe Preflight screens the proposed command or tool call immediately before execution and returns machine-readable verification for your runtime to consume.

3 · Execution evidence

After the action, HumanMirror Execution Receipt can preserve an independent record of what was submitted and what result was observed. A receipt is evidence, not a claim that every external side effect is reversible.

Recommended runtime sequence

① Agent proposestool call, API action, command or purchase
② HumanMirror preflightsindependent operational-risk verification
③ Wallet/runtime authorizesyour policy engine signs or rejects
④ Execute + receiptrun the action, then retain proof

Fast path: one external paid canary

Use a harmless action first. The unpaid request returns the live x402 v2 terms. Your existing x402 buyer authorizes those exact terms, then replays the identical request with its payment proof.

curl -i 'https://humanmirror.fr/api/x402/safe-preflight/?hm_source=agent-wallet' \
  -H 'Content-Type: application/json' \
  --data '{"input":{"command":"git status"},"criteria":{"max_risk":"medium","allow_confirmation":false}}'

The live HTTP 402 challenge is authoritative for network, asset, amount and recipient. Do not hard-code a recipient from documentation. Never send a wallet private key, seed phrase or signing credential to HumanMirror.

Coinbase Agentic Wallet (`awal`) — direct buyer path

For an authenticated Coinbase Agentic Wallet, the CLI can perform the x402 round-trip while keeping signing and payment authority in the wallet. The cap below is 10,000 USDC atomic units = 0.010 USDC.

npx awal@2.12.1 x402 pay 'https://humanmirror.fr/api/x402/safe-preflight/?hm_source=coinbase-awal' -X POST -d '{"input":{"command":"git status"},"criteria":{"max_risk":"medium","allow_confirmation":false}}' --max-amount 10000 --json

The maximum is only a spend ceiling. The live HTTP 402 challenge remains authoritative for the exact amount, network, asset and recipient. HumanMirror never receives the wallet private key or seed phrase.

Paid retry acceptance criteria

Drop-in decision model

candidate action
  ↓
HumanMirror Safe Preflight
  ↓
verified result → your runtime policy
  ↓
wallet authorization / normal x402 payment authority
  ↓
real tool or API execution
  ↓
HumanMirror Execution Receipt (optional)

This separation is deliberate: the wallet controls money; HumanMirror independently evaluates the proposed action. One layer does not silently inherit authority from the other.

Failure handling

Machine discovery

x402 manifest: https://humanmirror.fr/.well-known/x402.json
x402 discovery: https://humanmirror.fr/.well-known/x402
OpenAPI: https://humanmirror.fr/x402/openapi.json
Safe Preflight: POST https://humanmirror.fr/api/x402/safe-preflight/
Execution Receipt: POST https://humanmirror.fr/api/x402/execution-receipt/
MCP catalog: https://humanmirror.fr/api/x402/mcp/
A2A: https://humanmirror.fr/.well-known/agent-card.json
LLM index: https://humanmirror.fr/llms.txt

Integration support: contact.humanmirror@gmail.com. Send only a redacted error, HTTP status or transaction/reference. Do not send secrets or payment signatures.