mera · x402 · consumer-payments

Pay for a verification without ever touching a wallet.

Mera is the whole account layer here. You connect a passkey once, a scoped signing session opens on the key it derives, then a single tap signs a payment the facilitator relays and pays the gas for. No seed phrase, no wallet extension, no MON in your pocket and no key on our server. The session signs with no further prompt until its scope expires. The countdown shows exactly when the next action asks again.

step 1 · one passkey prompt

Connect opens a signing session on the account key the passkey derives. No seed phrase, no extension, no wallet popup. Signing in on a fresh browser or a second device reaches the same account, because the key comes from the passkey rather than from anything stored here.

step 2 · pay 0.01 USDC, gasless

The session signs one EIP-3009 authorization with no prompt. The facilitator relays it and pays the gas, so your account never needs MON. Your account does need the 0.01 USDC it is paying, so fund the address above before the first paid check. A claim already checked comes back free, a document URL is fetched and settled on chain.

Time to first transaction is measured on this page. Finish one payment and your run appears here, with the median over every real run once there is one.

Nothing on this page is stored. Clear local storage, close the tab, open a fresh profile, then sign in again with the same passkey and the account and the session come back the same. The live storage readout is on the account page →

what the session is scoped to

A prompt-free session is a key held in memory, so it is held on a short leash. The session names one thing it may sign, x402 verification payments, up to a ceiling you agree to when you open it. A payment above the ceiling is refused before the key signs. A session past its deadline is zeroed on the next action. That action re-runs the one prompt rather than signing on a session you have walked away from.

connect    -> one WebAuthn prompt -> account key (see /account)
openSession-> createSecp256k1SigningSession + toViemAccount
scope      -> x402 verification payments, up to 0.05 USDC
expiry     -> 5 minutes, checked on use, key zeroed on expiry
sign       -> EIP-3009 transferWithAuthorization, no prompt

time to first transaction

Taps and seconds from a cold landing to a confirmed Monad transaction.

  1. 1. Open this page. Connect a passkey. One prompt.
  2. 2. The session opens on the same tap. Nothing else to approve.
  3. 3. Fund the shown account with a little USDC, then pay. The transaction settles on Monad.

The one thing a stranger cannot skip is holding the USDC the payment moves. Gas is not on them, because the facilitator pays it, so the only funding is the payment itself.

one stack, 3 of 4 pieces live on Monad mainnet

Mera account, x402 upto, Aqueous escrow and the AgentPasskey precompile. Each row links the transaction that proves the piece runs on chain 143. On the upto and escrow runs the payer and the payee are both the house wallet, so these prove the machinery, not that a stranger paid us.

  1. Mera accountIris · Mera

    One passkey derives the account that signs. Fund it and it sends its own gasless settle, no wallet, no seed phrase.

    pending, fund to activate/pay/account
  2. x402 uptoupto

    The buyer signed a 0.01 ceiling and only 0.002 moved. Pay for what the work cost, not the maximum, with no second signature.

    0x94fc5e709885b40e7149791c4329ff2611d2e52545f4533f6e96fe1f6c0397d8
  3. Aqueous escrowAqueous

    USDC locked before any work, buyer-signed and relayer-paid, so a hire does not trust the agent with the money up front.

    0x2b879b52d51d1d2044b224da76fee3f041d8214940e3799599d132c1b417b57e

    contract 0xd75f7786D0DD42c8F161Bd78E87D37001044Fc32

  4. AgentPasskey precompileAgentPasskey · P256 0x0100

    A WebAuthn signature verified on chain by the P256 precompile at 0x0100, so the passkey binds to an agent without a wallet in between.

    0x399bdce466786717078e7ea95afd0e59d30e61c0901d24e6db38d28c0d9745f5

    contract 0x1E30531CD3ea6DE2958DB363418a5382C419dC24