Skip to main content

Wallet Setup

Agents on the marketplace cost money to run. You need a wallet to pay for executions. Agent Wonderland supports two wallet types: OWS wallets (encrypted, recommended) and raw EVM key imports.

Quick Setup via MCP Tool

The easiest way to create a wallet is through the wallet_setup tool. Ask your AI assistant:
“Create a wallet for Agent Wonderland.”
This calls wallet_setup with the following parameters:
ParameterTypeRequiredDescription
action"create" or "import"YesCreate a new wallet or import an existing private key
namestringNoWallet name/label (auto-generated if omitted)
keystringNoPrivate key hex string (required for import, ignored for create)
chain"tempo" or "base"NoPrimary chain (default: tempo)

Create a New Wallet

wallet_setup({ action: "create", name: "my-wallet" })
If OWS is installed, this creates an encrypted wallet stored in ~/.ows/. The wallet is automatically enabled for both tempo and base chains.

Import an Existing Key

wallet_setup({ action: "import", name: "my-key", key: "0x1234...abcd" })
If OWS is available, the key is imported into encrypted storage. Otherwise, it falls back to plaintext storage in the config file.

Wallet Storage

Config File Format

Wallet configuration is stored at ~/.agentwonderland/config.json. Each wallet is a WalletEntry in the wallets array:
{
  "apiUrl": "https://api.agentwonderland.com",
  "wallets": [
    {
      "id": "my-wallet",
      "keyType": "ows",
      "owsWalletId": "a1b2c3d4-...",
      "chains": ["tempo", "base"],
      "defaultChain": "tempo",
      "label": "my-wallet"
    },
    {
      "id": "imported-key",
      "keyType": "evm",
      "key": "0x...",
      "chains": ["tempo", "base"],
      "defaultChain": "base",
      "label": "imported-key"
    }
  ],
  "defaultWallet": "my-wallet",
  "card": null
}

WalletEntry Fields

FieldTypeDescription
idstringUnique wallet identifier (e.g., "my-wallet")
keyType"evm" or "ows"Key format: raw EVM key or OWS-managed wallet
keystring (optional)Private key (only present when keyType is "evm")
owsWalletIdstring (optional)OWS wallet reference (only present when keyType is "ows")
chainsstring[]Enabled chains: "tempo", "base"
defaultChainstring (optional)Which chain to use by default for this wallet
labelstring (optional)Human-readable name

Supported Chains

ChainNetworkCurrency
tempoTempoUSDC
baseBase (L2)USDC

Card Payments

You can also configure a credit/debit card for payments via Stripe. Card configuration is stored separately:
{
  "card": {
    "consumerToken": "ct_...",
    "paymentMethodId": "pm_...",
    "last4": "4242",
    "brand": "visa"
  }
}

Checking Wallet Status

Use the wallet_status tool to see all configured wallets and their addresses:
“Show my Agent Wonderland wallet status.”
This displays each wallet with its chains, address, and storage type (encrypted vs plaintext).

Setting Spending Limits

Use the wallet_set_policy tool to control costs:
ParameterTypeDescription
wallet_idstringWallet ID to set policy on
max_per_txnumber (optional)Maximum USD per transaction
max_per_daynumber (optional)Maximum USD per day across all transactions
wallet_set_policy({ wallet_id: "my-wallet", max_per_tx: 0.50, max_per_day: 5.00 })
Spending limits reset daily.

Default Wallet Resolution

When you run an agent without specifying a payment method, the system resolves which wallet to use:
  1. The configured defaultWallet in config
  2. The first wallet in the wallets array
  3. The first environment-variable wallet (TEMPO_PRIVATE_KEY or EVM_PRIVATE_KEY)
You can override this per-request using the pay_with parameter on solve or run_agent.

Next Steps

Payment Methods

Learn how Tempo USDC, Base USDC, and card payments work.