Hanzo Web3 Gateway - Keyless Blockchain Access via x402
Hanzo Web3 Gateway provides keyless blockchain access for autonomous AI agents.
Overview
Hanzo Web3 Gateway provides keyless blockchain access for autonomous AI agents. Instead of API keys, agents pay per request with USDC micropayments on Base using the x402 protocol. No account, no signup, no billing dashboard -- just a wallet with USDC.
Why the Gateway?
- Zero configuration: No API key, no account, no billing
- Agent-native: Agents autonomously sign up and pay
- x402 standard: Open payment protocol (EIP-712 signed USDC on Base)
- Same coverage: All 100+ chains available through Hanzo Web3
- Micropayments: Sub-cent pricing per request (0.0001)
When to use
Use this skill when:
- The agent needs keyless blockchain access without a Hanzo account
- The agent should pay per request with USDC (x402 protocol)
- Building autonomous agents that sign up and pay independently
- No human needs to create an API key or manage billing
If HANZO_WEB3_API_KEY is set, use the hanzo-web3 skill instead -- it is cheaper for high volume.
Hard requirements
- Wallet required.
HANZO_WALLET_PRIVATE_KEYmust be set to an Ethereum private key that holds USDC on Base. - USDC on Base. The wallet must have USDC balance on Base network for x402 payments.
- Never expose the private key in user-visible output, logs, or screenshots.
- If
HANZO_WEB3_API_KEYis set, prefer thehanzo-web3skill (it is cheaper for high volume).
Preflight checks
Before making any request, silently verify:
HANZO_WALLET_PRIVATE_KEYis set and non-empty- If
HANZO_WEB3_API_KEYis also set, warn thathanzo-web3skill may be more cost-effective
How x402 works
- Agent sends request to gateway without auth
- Gateway responds with
402 Payment Required+ payment details - Agent signs USDC payment authorization (EIP-712)
- Agent resends request with
X-Paymentheader containing signed authorization - Gateway verifies signature, deducts USDC, processes request
- Response returned as normal
Quick reference
| Item | Value |
|---|---|
| Gateway URL | https://gateway.web3.hanzo.ai/v1 |
| Payment token | USDC on Base (0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913) |
| Payment protocol | x402 (EIP-712 signed authorization) |
| Auth method | SIWE (Sign-In with Ethereum) |
| Docs | https://web3.hanzo.ai/docs/agents |
| Status | https://status.web3.hanzo.ai |
One-file quickstart
Generate a wallet (if needed)
# Using cast (foundry)
cast wallet new
# Save the private key
export HANZO_WALLET_PRIVATE_KEY=0x...Fund with USDC on Base
Transfer USDC to your wallet address on Base network. Even $1 covers thousands of requests.
Make a request
# First request gets 402 with payment details
curl -X POST https://gateway.web3.hanzo.ai/v1/eth/mainnet \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'
# Response: 402 Payment Required with X-Payment-Details header
# Agent SDK handles payment signing automaticallyUsing the Hanzo Agent SDK
import { HanzoWeb3Agent } from "@hanzo/web3-agent"
const agent = new HanzoWeb3Agent({
privateKey: process.env.HANZO_WALLET_PRIVATE_KEY,
})
// Automatically handles x402 payment flow
const blockNumber = await agent.rpc("eth/mainnet", {
method: "eth_blockNumber",
params: [],
})Python
from hanzo.web3 import Web3Agent
agent = Web3Agent() # uses HANZO_WALLET_PRIVATE_KEY from env
# Automatic x402 payment handling
block = agent.rpc("eth/mainnet", method="eth_blockNumber")
balances = agent.tokens.balances(address="0x...", network="eth/mainnet")Pricing
| Request type | Cost (USDC) |
|---|---|
| Simple query (eth_blockNumber, eth_gasPrice) | $0.000001 |
| Standard query (eth_getBalance, eth_getBlock) | $0.000005 |
| Compute query (eth_call, eth_estimateGas) | $0.00001 |
| Log query (eth_getLogs) | $0.000025 |
| Write (eth_sendRawTransaction) | $0.00005 |
| Debug/Trace | $0.0001 |
| Data API (tokens, NFTs) | $0.00001 |
Endpoint selector
Same endpoints as hanzo-web3 skill, but using gateway URL:
| Task | Endpoint |
|---|---|
| JSON-RPC | POST https://gateway.web3.hanzo.ai/v1/{network} |
| Token data | GET https://gateway.web3.hanzo.ai/v1/data/tokens/* |
| NFT data | GET https://gateway.web3.hanzo.ai/v1/data/nfts/* |
| Portfolio | GET https://gateway.web3.hanzo.ai/v1/data/portfolio |
| Transfers | GET https://gateway.web3.hanzo.ai/v1/data/transfers |
| Transactions | GET https://gateway.web3.hanzo.ai/v1/data/transactions |
| Webhooks | POST https://gateway.web3.hanzo.ai/v1/webhooks |
| Smart wallets | POST https://gateway.web3.hanzo.ai/v1/wallets/* |
MCP Integration
Expose keyless blockchain access as MCP tools for autonomous agents:
import { MCPServer, Tool } from '@hanzo/mcp'
import { HanzoWeb3Agent } from '@hanzo/web3-agent'
const agent = new HanzoWeb3Agent({
privateKey: process.env.HANZO_WALLET_PRIVATE_KEY,
})
const gatewayTools: Tool[] = [
{
name: 'web3_gateway_rpc',
description: 'Keyless JSON-RPC call via x402 micropayment',
parameters: {
network: { type: 'string', required: true },
method: { type: 'string', required: true },
params: { type: 'array', default: [] }
},
async execute({ network, method, params }) {
return await agent.rpc(network, { method, params })
}
},
{
name: 'web3_gateway_balance',
description: 'Check USDC balance available for gateway payments',
parameters: {},
async execute() {
return await agent.getBalance()
}
}
]Error handling
| Code | Meaning | Action |
|---|---|---|
| 402 | Payment required | Sign payment and retry with X-Payment header |
| 401 | Invalid signature | Re-sign with correct wallet |
| 402 + insufficient | Wallet balance too low | Fund wallet with more USDC |
| 429 | Rate limited | Backoff and retry |
| 500 | Server error | Retry up to 3 times |
Choosing between Web3 and Web3 Gateway
| Factor | hanzo-web3 | hanzo-web3-gateway |
|---|---|---|
| Auth | API key | Wallet + x402 |
| Setup | Dashboard signup | Just a wallet |
| Billing | Monthly/PAYG | Per-request USDC |
| Best for | High volume, teams | Autonomous agents |
| Rate limit | 25-300 req/s | Per-payment |
| Cost at scale | Lower | Higher |
Official links
- Agent docs: https://web3.hanzo.ai/docs/agents
- x402 protocol: https://x402.org
- Dashboard: https://web3.hanzo.ai/dashboard
- Hanzo AI: https://hanzo.ai
- Hanzo Bot: https://hanzo.bot
How is this guide?
Last updated on
Hanzo Web3 - Blockchain API for 100+ Chains
Hanzo Web3 is the blockchain infrastructure layer of the Hanzo ecosystem.
Hanzo AuthorizeNet-Go
AuthorizeNet-Go is a Go client library for the Authorize.net XML/JSON API. It covers three major API surfaces: AIM (Advanced Integration Method) for payment transactions, CIM (Customer Information ...