Solana wallet integration for OpenClaw agents using Crossmint smart wallets with delegated signing.
This plugin enables OpenClaw agents to:
- Generate and manage local Solana signing keys (ed25519)
- Use Crossmint smart wallets on Solana
- Check wallet balances (SOL, USDC, SPL tokens)
- Send tokens to other addresses
- Buy products from Amazon with SOL or USDC
The key innovation is delegated signing: the agent holds its own private key locally, and users authorize the agent to operate their Crossmint wallet through a web-based delegation flow.
openclaw plugins install @crossmint/openclaw-walletEnable the plugin in ~/.openclaw/.openclaw.json5:
{
plugins: {
entries: {
"openclaw-wallet": {
enabled: true
}
}
}
}Note: This plugin uses Solana mainnet (production) for real transactions.
Step 1: Generate keypair and get delegation URL
Ask the agent: "Set up my Crossmint wallet"
The agent will:
- Generate a local Solana keypair (ed25519)
- Provide a delegation URL:
https://www.lobster.cash/configure?pubkey=<your-public-key>
Step 2: Complete setup on the web app
- Open the delegation URL in your browser
- The web app will:
- Create a Crossmint smart wallet on Solana
- Add the agent's public key as a delegated signer
- Show you the wallet address and API key
Step 3: Configure the agent
Tell the agent: "Configure my wallet with address X and API key Y"
The agent will use crossmint_configure to save these credentials securely.
Ask the agent: "What's my wallet balance?"
Ask the agent: "Send 10 USDC to "
The agent will:
- Confirm the recipient and amount
- Sign the transaction locally using ed25519
- Submit to Crossmint for execution on Solana
Ask the agent: "Buy me this Amazon product: B00O79SKV6"
The agent will:
- Ask for shipping address if not provided
- Create an order with Crossmint
- Sign the payment transaction locally
- Submit the payment and confirm on-chain
- Return the order ID and Solana explorer link
Example purchase flow:
User: "Buy B00O79SKV6 and ship to John Doe, 123 Main St, New York NY 10001"
Agent: ✅ Purchase complete!
Product: AmazonBasics USB Cable
Price: 0.05 SOL
Order ID: order_abc123
Payment: completed
Transaction: https://explorer.solana.com/tx/5x...
Use crossmint_order_status to check delivery status.
| Tool | Description |
|---|---|
crossmint_setup |
Generate Solana keypair and get delegation URL |
crossmint_configure |
Save wallet address and API key from web app |
crossmint_balance |
Check wallet balances (SOL, USDC, SPL tokens) |
crossmint_send |
Send tokens to another Solana address |
crossmint_wallet_info |
Get detailed wallet information |
crossmint_tx_status |
Check transaction status |
crossmint_buy |
Buy products from Amazon with SOL or USDC |
crossmint_order_status |
Check Amazon order/delivery status |
When you use crossmint_buy, the plugin executes a complete delegated signer flow:
┌─────────────────────────────────────────────────────────────┐
│ 1. Create Order │
│ POST /orders → Returns serialized payment transaction │
├─────────────────────────────────────────────────────────────┤
│ 2. Create Transaction │
│ POST /wallets/{address}/transactions │
│ → Returns approval message to sign │
├─────────────────────────────────────────────────────────────┤
│ 3. Sign Approval (Local) │
│ Agent signs message with ed25519 keypair │
├─────────────────────────────────────────────────────────────┤
│ 4. Submit Approval │
│ POST /wallets/{address}/transactions/{id}/approvals │
├─────────────────────────────────────────────────────────────┤
│ 5. Wait for Broadcast │
│ Poll until on-chain txId is available │
├─────────────────────────────────────────────────────────────┤
│ 6. Confirm Payment (CRITICAL) │
│ POST /orders/{orderId}/payment │
│ → Notifies Crossmint that payment is on-chain │
└─────────────────────────────────────────────────────────────┘
All steps are handled automatically by the plugin.
┌─────────────────────────────────────────────────────────────┐
│ OpenClaw Agent │
├─────────────────────────────────────────────────────────────┤
│ Local Solana Keypair (ed25519) │
│ - Private key stored at ~/.openclaw/crossmint-wallets/ │
│ - Signs transaction approvals locally │
│ - Wallet address + API key stored after web setup │
└────────────────────────┬────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ Delegation Web App (lobster.cash) │
├─────────────────────────────────────────────────────────────┤
│ - Receives agent's public key via URL │
│ - Creates Crossmint smart wallet │
│ - Adds agent as delegated signer │
│ - Returns wallet address + API key to user │
└────────────────────────┬────────────────────────────────────┘
│
▼
┌─────────────────────────────────────────────────────────────┐
│ Crossmint Smart Wallet │
├─────────────────────────────────────────────────────────────┤
│ - Deployed on Solana │
│ - Agent's address registered as delegated signer │
│ - User retains admin control │
│ - Holds SOL/USDC for purchases and transfers │
└─────────────────────────────────────────────────────────────┘
- Private keys are stored locally on the agent's machine with secure file permissions (0600)
- Keys are never transmitted to Crossmint - only signatures
- Uses ed25519 cryptography (Solana native)
- API key is stored locally after user retrieves it from web app
- Users maintain admin control and can revoke delegation at any time
- The agent can only perform actions explicitly authorized through delegation
"No wallet found for agent"
- Run
crossmint_setupfirst to generate a keypair
"Wallet not fully configured"
- Complete the web setup flow at the delegation URL
- Run
crossmint_configurewith wallet address and API key from the web app
"Failed to get balance" or "Failed to send"
- Verify the API key is correct (should start with
ck_production_) - Check that the wallet address matches the one shown in the web app
- Ensure the wallet has sufficient balance
"Insufficient funds" (Amazon purchase)
- Check balance with
crossmint_balance - Fund the wallet with more SOL or USDC
- Fund the wallet with real SOL or USDC on Solana mainnet
"Timeout waiting for transaction to be broadcast"
- Check transaction status with
crossmint_tx_status - Solana network may be congested - wait and retry
# Install the plugin
openclaw plugins install @crossmint/openclaw-wallet
# Upgrade to latest version
openclaw plugins update @crossmint/openclaw-wallet
# List all plugins
openclaw plugins list
# Check plugin info (shows current version)
openclaw plugins info openclaw-wallet
# Enable/disable
openclaw plugins enable openclaw-wallet
openclaw plugins disable openclaw-wallet
# Uninstall
openclaw plugins uninstall openclaw-wallet| Currency | Token | Use Cases |
|---|---|---|
| SOL | Native Solana | Transfers, Amazon purchases |
| USDC | USD Coin | Transfers, Amazon purchases |
| SPL tokens | Any mint address | Transfers only |