Skip to content

USDC Payments

Lango provides a blockchain payment system for USDC on Base L2 (EVM). The agent can send USDC, check balances, view transaction history, and manage wallets through built-in payment tools.

Experimental

The payments system is under active development. Enable it with payment.enabled: true.

Payment Tools

Tool Description Safety Level
payment_send Send USDC to recipient Dangerous
payment_balance Check wallet USDC balance Safe
payment_history View recent transactions Safe
payment_limits View spending limits and daily usage Safe
payment_wallet_info Show wallet address and network info Safe
payment_create_wallet Create new blockchain wallet Dangerous
payment_x402_fetch HTTP request with automatic X402 payment Dangerous

Tool Approval

Tools marked Dangerous require explicit user approval before execution unless auto-approve policies are configured. See Tool Approval for details.

Wallet Providers

Provider Description
local Default. Private key derived from encrypted secrets stored on disk.
rpc Remote signer. Delegates signing to an external RPC endpoint.
composite Tries rpc first, falls back to local if unavailable.

CLI Examples

Check wallet balance:

lango payment balance

View recent transactions:

lango payment history --limit 10

View spending limits and daily usage:

lango payment limits

Show wallet address and network info:

lango payment info

Send USDC to a recipient:

lango payment send --to 0x1234...abcd --amount 0.50 --purpose "API access"

Skip confirmation prompt with --force:

lango payment send --to 0x1234...abcd --amount 0.50 --purpose "API access" --force

JSON output for scripting:

lango payment balance --json

Configuration

Settings: lango settings → Payment

{
  "payment": {
    "enabled": true,
    "walletProvider": "local",
    "network": {
      "chainId": 84532,
      "rpcUrl": "https://sepolia.base.org",
      "usdcContract": "0x..."
    },
    "limits": {
      "maxPerTx": 10.0,
      "maxDaily": 100.0,
      "autoApproveBelow": 0.10
    }
  }
}
Key Type Default Description
payment.enabled bool false Enable the payment system
payment.walletProvider string local Wallet provider: local, rpc, or composite
payment.network.chainId int 84532 Chain ID (84532 = Base Sepolia, 8453 = Base mainnet)
payment.network.rpcUrl string -- RPC endpoint URL for the target network
payment.network.usdcContract string -- USDC token contract address
payment.limits.maxPerTx float64 10.0 Maximum USDC per transaction
payment.limits.maxDaily float64 100.0 Maximum USDC per 24-hour rolling window
payment.limits.autoApproveBelow float64 0.10 Auto-approve threshold (no confirmation prompt)

Testnet First

Start with Base Sepolia (chainId: 84532) for testing. Switch to Base mainnet (chainId: 8453) only after verifying your configuration. See the Production Checklist for mainnet deployment guidance.