How It Works

The full picture — from wallet creation to agent spending to monitoring.

The Simple Version

IndieGent creates wallets for your AI agents. Each agent gets its own wallet with real USDC (dollars) on Base chain. You fund them, they spend independently, you monitor everything from a dashboard or CLI.

Think of it like giving each of your AI agents their own prepaid debit card.


The Flow

1. You sign up

Connect your crypto wallet (MetaMask, Coinbase Wallet, etc.) or sign up with email + password. Both work. Your wallet acts as your identity — no usernames to remember.

2. You create an agent wallet

Click “Create Agent Wallet” and give it a name like “Research Bot”. Behind the scenes:

  • We generate a brand new wallet (a private/public keypair)
  • The private key is encrypted with AES-256-GCM and stored in our database
  • The wallet address is yours to use

3. You fund it

Send USDC from your connected wallet to the agent's wallet address. When you fund for the first time:

  • We automatically send a tiny amount of ETH (~$0.10) to cover gas fees
  • This covers hundreds of transactions on Base (gas is super cheap there)

4. Your agent spends

Export the wallet credentials to your agent process:

eval $(indiegent agents env "Research Bot")
node my-agent.js

Your agent now has INDIEGENT_AGENT_KEY and INDIEGENT_AGENT_ADDRESS as environment variables. It can sign USDC transactions directly.

5. You monitor

The dashboard shows real-time balances, transaction history, and spending. Set auto-topup rules so your agents never run dry.


Key Concepts

Agent Wallets are Real Wallets

Each agent wallet is a real Ethereum wallet (EOA — Externally Owned Account). It has a real private key and a real address on Base chain. It's not a smart contract, not an abstraction — it's a regular wallet that can interact with anything on Base.

You Own Your Keys

You can export the private key at any time. Import it into MetaMask, use it in your own code, move funds without us. We encrypt and store the key for convenience, but it's always yours.

USDC Only

Everything is in USDC (a stablecoin pegged to $1). No volatility, no confusing token conversions. Your agent has $50, it has $50.

Gas is Handled

Base L2 transactions cost fractions of a penny. We sponsor the initial gas (ETH) so you never have to think about it. If gas runs low, the system re-sponsors automatically. Learn more about gas sponsorship.

Non-Custodial

We hold encrypted keys but we're not a custodian. We only sign transactions for actions you explicitly configure (like auto-topup). Same model as Privy, Magic, and other key management services.


Architecture

You (Dashboard / CLI / API)
       │
       ▼
  IndieGent API
       │
       ├── Auth (JWT + API keys)
       ├── Agent wallet CRUD
       ├── Encrypted key storage (AES-256-GCM)
       ├── Balance monitoring (reads from chain)
       ├── Payment sessions (batched API calls)
       ├── Auto-topup monitoring (every 5 min)
       └── Gas sponsorship
       │
       ▼
   Base Chain  (L2 on Ethereum)
       │
       ├── Agent wallets (real EOA addresses)
       ├── USDC transfers
       └── ~$0.001 per transaction

Authentication

MethodForHow
Connect WalletCrypto usersSign a message with MetaMask/Coinbase Wallet (SIWE)
Email + PasswordEveryone elseTraditional signup with hashed passwords
CLI LoginDevelopersOAuth device flow — open browser, approve, CLI gets token
API KeyAutomationGenerate in dashboard, set as environment variable

All four methods hit the same API. All get the same access.


Spending Controls

  • Spending cap — Maximum USDC an agent wallet can hold
  • Auto-topup — Refill to $X when balance drops below $Y
  • Manual drain — Pull all funds back to your wallet anytime
  • Soft delete — Deactivate an agent, auto-drain funds, key still exportable

What's Next?

IndieGentIndieGent — Independent wallets for independent agents

npm install -g @indiegent/cli