| name | sequence-builder |
| description | Manage Sequence smart wallets, projects, API keys, ERC20 transfers, and query blockchain data using the Sequence Builder CLI. Use when user asks about creating wallets, sending tokens, checking balances, managing Sequence projects, or interacting with EVM blockchains. |
| homepage | https://github.com/0xsequence/builder-cli |
| metadata | {"clawdbot":{"emoji":"⛓️","os":["darwin","linux"],"requires":{"bins":["node","npx"]}}} |
Sequence Builder CLI
CLI for Sequence Builder — designed for AI agents and automation. Create wallets, authenticate, manage projects, query blockchain data, and send ERC20 transfers from the command line.
All commands support --json for machine-readable output. Always use --json when parsing results programmatically.
Prerequisites
- Node.js 18+
- A Sequence Builder account (created automatically on first login)
Quick Start
npx @0xsequence/builder-cli create-wallet --json
npx @0xsequence/builder-cli login -k <private-key> --json
npx @0xsequence/builder-cli projects create "My Project" --json
npx @0xsequence/builder-cli wallet-info -k <private-key> -a <access-key> --json
npx @0xsequence/builder-cli transfer \
-k <private-key> -a <access-key> \
-t <token-address> -r <recipient> \
-m <amount> -c <chain-id> --json
Encrypted Key Storage
Set SEQUENCE_PASSPHRASE to auto-encrypt and store the private key locally. Once stored, you no longer need to pass -k on every command.
export SEQUENCE_PASSPHRASE="your-strong-secret"
npx @0xsequence/builder-cli create-wallet --json
Understanding Wallet Addresses
This CLI uses Sequence Smart Wallets for transfers:
- EOA Address — Standard Ethereum address from your private key. Used for login and project ownership.
- Sequence Wallet Address — Smart contract wallet that can pay gas fees with ERC20 tokens (no native token needed). Used for transfers.
Always send tokens to the Sequence Wallet Address for use with the transfer command. Use wallet-info to see both addresses.
Command Reference
create-wallet
Generate a new EOA keypair.
npx @0xsequence/builder-cli create-wallet --json
JSON output:
{
"privateKey": "0x4c0883a...",
"address": "0x89D9F8f...",
"keyStored": true
}
wallet-info
Show EOA and Sequence smart wallet addresses.
npx @0xsequence/builder-cli wallet-info -k <private-key> -a <access-key> --json
Options:
-k, --private-key <key> — Wallet private key (optional if stored)
-a, --access-key <key> — Project access key (required)
JSON output:
{
"eoaAddress": "0x742BDb3...",
"sequenceWalletAddress": "0xA71506...",
"fundingUrl": "https://demo.trails.build/..."
}
login
Authenticate with Sequence Builder.
npx @0xsequence/builder-cli login -k <private-key> --json
Options:
-k, --private-key <key> — Wallet private key (optional if stored)
-e, --email <email> — Email to associate with the account
--env <environment> — Environment: prod (default) or dev
--api-url <url> — Custom API URL
JSON output:
{
"success": true,
"address": "0x742BDb3...",
"expiresAt": "2026-02-07T12:00:00Z"
}
projects
Manage Sequence Builder projects. Requires login.
npx @0xsequence/builder-cli projects --json
npx @0xsequence/builder-cli projects create "My Game" --json
npx @0xsequence/builder-cli projects create "My Game" --chain-ids 137,8453 --json
npx @0xsequence/builder-cli projects get <project-id> --json
apikeys
Manage API keys for a project. Requires login.
npx @0xsequence/builder-cli apikeys <project-id> --json
npx @0xsequence/builder-cli apikeys default <project-id> --json
transfer
Send an ERC20 token transfer using the Sequence smart wallet. Gas fees are paid with the same token being transferred — no native token needed.
npx @0xsequence/builder-cli transfer \
-k <private-key> \
-a <access-key> \
-t <token-address> \
-r <recipient-address> \
-m <amount> \
-c <chain-id> \
--json
Options:
-k, --private-key <key> — Wallet private key (optional if stored)
-a, --access-key <key> — Project access key (required)
-t, --token <address> — ERC20 token contract address (required)
-r, --recipient <address> — Recipient address (required)
-m, --amount <amount> — Amount in token units, e.g. 10.5 (required)
-c, --chain-id <chainId> — Chain ID (required)
JSON output:
{
"success": true,
"transactionHash": "0xabc123...",
"from": "0xA71506...",
"to": "0x123456...",
"token": "0x833589...",
"amount": "10.5",
"symbol": "USDC",
"chainId": 8453
}
indexer
Query blockchain data using the Sequence Indexer.
npx @0xsequence/builder-cli indexer balances <address> \
-a <access-key> -c <chain-id> --include-metadata --json
npx @0xsequence/builder-cli indexer native-balance <address> \
-a <access-key> -c <chain-id> --json
npx @0xsequence/builder-cli indexer history <address> \
-a <access-key> -c <chain-id> --limit 20 --json
npx @0xsequence/builder-cli indexer token-info <contract-address> \
-a <access-key> -c <chain-id> --json
Supported Networks
| Network | Chain ID |
|---|
| Ethereum | 1 |
| Polygon | 137 |
| Base | 8453 |
| Arbitrum | 42161 |
| Optimism | 10 |
| BSC | 56 |
| Avalanche | 43114 |
Full list: https://status.sequence.info/
Exit Codes
| Code | Meaning |
|---|
| 0 | Success |
| 1 | General error |
| 10 | Not logged in |
| 11 | Invalid private key |
| 20 | Insufficient funds |
| 30 | No projects found |
| 31 | Project not found |
| 40 | API error |
Common Workflows
Full setup from scratch
export SEQUENCE_PASSPHRASE="my-secret"
npx @0xsequence/builder-cli create-wallet --json
npx @0xsequence/builder-cli login --json
npx @0xsequence/builder-cli projects create "My App" --json
npx @0xsequence/builder-cli wallet-info -a <access-key> --json
Check balance then transfer
npx @0xsequence/builder-cli indexer balances <your-sequence-wallet> \
-a <access-key> -c 8453 --json
npx @0xsequence/builder-cli transfer \
-a <access-key> -t <token> -r <recipient> -m 10 -c 8453 --json
Multi-chain balance check
npx @0xsequence/builder-cli indexer balances <address> -a <key> -c 1 --json
npx @0xsequence/builder-cli indexer balances <address> -a <key> -c 137 --json
npx @0xsequence/builder-cli indexer balances <address> -a <key> -c 8453 --json
Configuration
Stored in ~/.sequence-builder/config.json:
- JWT token for authentication
- Environment settings (prod/dev)
- Encrypted private key (when
SEQUENCE_PASSPHRASE is set)
Troubleshooting
"Not logged in" error: Run login first. JWT tokens expire — re-run login if expired.
"Invalid private key" error: Key must be a 64-character hex string (with or without 0x prefix). If using stored key, verify SEQUENCE_PASSPHRASE is correct.
"Insufficient balance" error: Send tokens to the Sequence Wallet Address (not the EOA). Use wallet-info to get the correct address.
Transfer fails: Ensure the Sequence wallet has enough of the token being transferred. The same token is used to pay gas fees.