Skip to content

Quick Start

  • Node.js >= 18
  • pnpm >= 8
  • Docker (for Intermezzo / Vault signing services)
  • Akita mobile app (to approve agent installation)
Terminal window
git clone https://github.com/AkitaInu/agent-wallet.git
cd agent-wallet
pnpm install
pnpm build
Terminal window
pnpm setup

The setup wizard will:

  1. Start Intermezzo services — Spins up HashiCorp Vault and Pawn in Docker
  2. Prompt for configuration — Agent name, network (mainnet/testnet/localnet), plugins, and spending allowance
  3. Generate an agent key — Creates an ed25519 key in Vault for signing transactions
  4. Display a QR code — Scan with your Akita app to connect
  5. Send install request — The app creates the escrow, installs plugins, and approves the agent
  6. Write config files — Generates .env, MCP config, and Claude Code skill file

Add the output MCP config to your claude_desktop_config.json:

{
"mcpServers": {
"akita-agent-wallet": {
"command": "npx",
"args": ["@akta/agent-wallet-mcp"],
"env": {
"ENV_FILE": "/absolute/path/to/.env"
}
}
}
}

The setup wizard generates a SKILL.md file automatically. Place it in your .claude/ directory and Claude Code discovers it as a slash command.

Use the core SDK directly:

import { AlgorandClient } from '@algorandfoundation/algokit-utils'
import {
AgentKit,
IntermezzoWalletProvider,
PayActionProvider,
WalletInfoActionProvider,
} from '@akta/agent-wallet'
const walletProvider = new IntermezzoWalletProvider({
apiUrl: 'http://localhost:3100',
vaultUrl: 'http://localhost:8200',
roleId: process.env.INTERMEZZO_ROLE_ID!,
secretId: process.env.INTERMEZZO_SECRET_ID!,
keyName: process.env.INTERMEZZO_KEY_NAME!,
})
const algorand = AlgorandClient.testNet()
const agentKit = await AgentKit.from({
walletAppId: BigInt(process.env.WALLET_APP_ID!),
escrowName: process.env.ESCROW_NAME!,
walletProvider,
algorand,
actionProviders: [
new WalletInfoActionProvider(),
new PayActionProvider(),
],
})
// Execute an action
const result = await agentKit.executeAction('send_payment', {
receiver: 'RECIPIENT_ADDRESS',
amount: 1_000_000,
})

Generated by the setup wizard:

VariableDescription
INTERMEZZO_API_URLPawn API base URL (default: http://localhost:3100)
INTERMEZZO_VAULT_URLVault API base URL (default: http://localhost:8200)
INTERMEZZO_ROLE_IDVault AppRole role ID
INTERMEZZO_SECRET_IDVault AppRole secret ID
INTERMEZZO_KEY_NAMEAgent key name in Vault
WALLET_APP_IDARC-58 wallet application ID
ESCROW_NAMEEscrow name (e.g. agent:My AI Agent)
ALGORAND_NETWORKNetwork: mainnet, testnet, or localnet
ALGOD_SERVERAlgod node URL
ALGOD_TOKENAlgod auth token (localnet only)

The MCP server and CLI resolve the env file in this order:

  1. --env-file flag (CLI only)
  2. ENV_FILE environment variable
  3. ./.env in the current directory