@shika-protocol/contra-fiat-wallet
v3.1.0
Published
USDC wallet plugin for OpenClaw: Chainrails fiat onramp, x402 autonomous spending, cross-chain withdraws, EIP-8004 agent identity
Maintainers
Readme
@openclaw/fiat-wallet
USDC wallet plugin for OpenClaw. Deposit local fiat through Chainrails ramp providers, hold USDC on-chain in an Ampersend smart account, and spend autonomously via x402 payments — all from your AI agent.
Install
openclaw plugins install @openclaw/fiat-walletOr find it on ClawHub: clawhub.io/packages/@openclaw/fiat-wallet
Requirements
Two environment variables must be set in your OpenClaw instance before the plugin will start:
| Variable | Description |
|---|---|
| ONECLAW_AGENT_API_KEY | Your 1Claw agent API key |
| ONECLAW_VAULT_ID | Your 1Claw vault ID |
The plugin fetches all other secrets (control plane URL, plugin API token, wallet address) from the 1Claw vault at startup. No other env vars needed.
Add them to your OpenClaw secret:
# In your OpenClawInstance secret
ONECLAW_AGENT_API_KEY: your-agent-api-key
ONECLAW_VAULT_ID: your-vault-idOr in openclaw.json env section if running locally:
{
"env": {
"ONECLAW_AGENT_API_KEY": "your-agent-api-key",
"ONECLAW_VAULT_ID": "your-vault-id"
}
}Configuration
Set these in the plugin config (via OpenClaw UI or openclaw.json):
{
"plugins": {
"@openclaw/fiat-wallet": {
"dailySpendLimit": 50,
"monthlySpendLimit": 500,
"perTransactionLimit": 5,
"autoInjectBalance": true
}
}
}| Option | Default | Description |
|---|---|---|
| dailySpendLimit | 50 | Max USDC the agent can spend per day via x402 |
| monthlySpendLimit | 500 | Max USDC the agent can spend per month via x402 |
| perTransactionLimit | 5 | Max USDC per single x402 payment |
| autoInjectBalance | true | Prepend balance to every conversation |
What the agent can do
| Tool | What it does |
|---|---|
| wallet_balance | Check current on-chain USDC balance + wallet address |
| wallet_transactions | View recent on-chain activity |
| wallet_ramp_quote | Get a quote for depositing local fiat and receiving USDC (aggregated across supported ramp providers) |
| wallet_deposit | Create a Chainrails ramp order — returns payment instructions or a hosted ramp URL |
| wallet_deposit_history | List recent deposit orders and their status |
CLI
openclaw wallet balance
openclaw wallet deposits
openclaw wallet deposits --limit 50
openclaw wallet transactions
openclaw wallet transactions --limit 50How deposits work
- Agent calls
wallet_ramp_quoteto show the user the best rate for their local currency. - User picks a provider; agent calls
wallet_depositwith{provider, fiatCurrency, cryptoAmount, countryCode?}. - The control plane creates a Chainrails ramp order with the wallet's on-chain address as the recipient.
- The user pays via their bank / mobile money using the returned payment instructions (or a hosted
rampUrl). - Chainrails settles USDC to the Ampersend smart account and fires
intent.completed— the local order status advances, and the new balance shows up on the nextwallet_balancecall.
Chainrails currently routes through FONBNK and ONRAMP_MONEY, supporting NGN, KES, GHS, ZAR, TZS, UGX, ZMW, XAF, XOF, INR, MXN, COP, CLP, PHP, EUR, IDR, GBP, USD, ARS, CAD. Destination: Base (USDC).
Source
- ClawHub: clawhub.io/packages/@openclaw/fiat-wallet
- GitHub: github.com/JUSTICEESSIELP/openclaw-cloud-fiat-wallet-plugin
- License: MIT
