# H3RETIK Pay - Fund a Receipt, Not an Agent Wallet

> Canonical HTML: https://h1dr4.dev/h3retik-pay
> Machine index: https://h1dr4.dev/llms.txt

H3RETIK Pay lets a human fund a one-use receipt so an agent can execute one frozen Base transfer, contract call, or deployment without receiving a connected wallet, seed, or reusable signing authority. The worker executes once and refunds the unused balance.

## Human flow

1. Choose transfer, contract call, or deployment.
2. Enter explicit `to`, `value_wei`, calldata or creation bytecode, hard gas cap, and refund address.
3. Review the immutable transaction, deterministic policy warnings, total Base ETH funding, and intent hash.
4. Send the exact displayed Base ETH amount to the one-time funding address.
5. The page detects payment, executes the frozen transaction, settles the small service fee, and refunds unused gas.
6. Keep the target, service-fee, and refund transaction receipts.

## Security boundary

- Base mainnet only in version 1.
- One derived signer address per intent; the private key is never returned or stored in the browser.
- The small model explains the transaction but cannot approve it or alter any frozen field.
- Deterministic policy rejects generic message signing, unlimited ERC-20 approvals, `setApprovalForAll`, and persistent WalletConnect sessions.
- Funding is approval of the exact intent hash, not approval for the service to choose another transaction.
- Failed target calls still consume network gas; any recoverable remainder follows the refund path.

## REST

- `POST /h3retik/api/pay/intents` creates an intent and returns a private capability token.
- `GET /h3retik/api/pay/intents/{intent_id}` reads state with `Authorization: Bearer h3p_...`.
- `POST /h3retik/api/pay/intents/{intent_id}/sync` advances funding detection, execution, fee settlement, and refund.

## MCP

- `h3retik_pay_create_intent`
- `h3retik_pay_get_intent`
- `h3retik_pay_sync_intent`

The access token is a private capability. Do not publish it or place it in a shareable URL.
