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.
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?
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.
HumanMirror Safe Preflight screens the proposed command or tool call immediately before execution and returns machine-readable verification for your runtime to consume.
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.
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.
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.
ok: true, result.status: verified_success, settlement reference in x402.transaction, and PAYMENT-RESPONSE.result.verification before deciding whether the proposed action proceeds.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.
Idempotency-Key stable when retrying the same purchase.payment_settled or transaction reference before authorizing a fresh payment.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.