Skip to main content

crumb-alpha-cli

Command-line tool for managing wallets, balances, deposits, and payments.

Installation

pnpm add -g crumb-alpha-cli

Or use via npx:

npx crumb-alpha-cli <command>

Commands

crumb init

Initialize Crumb — creates a config file and wallet. Sets up on arcTestnet and encrypts the private key with AES-256-GCM.

crumb init

Config is stored at ~/.crumb/config.json and the encrypted keystore at ~/.crumb/keystore.enc.

crumb wallet create

Create a new wallet.

crumb wallet create

crumb wallet show

Display the active wallet address.

crumb wallet show

crumb wallet fund

Instructions to fund your wallet with testnet USDC.

crumb wallet fund

crumb balance

Check USDC balances — both on-chain wallet balance and Gateway deposited balance.

crumb balance

crumb deposit <amount>

Deposit USDC into the Gateway for gasless payments.

crumb deposit 10.0

crumb withdraw <amount>

Withdraw USDC from the Gateway back to your wallet.

crumb withdraw 5.0

# Cross-chain withdrawal
crumb withdraw 5.0 --chain arcTestnet

crumb pay <url>

Make a single paid request to an x402-protected resource.

crumb pay https://api.example.com/search --max-payment 0.01

crumb history

View transaction history.

crumb history
crumb history --limit 50

crumb serve <file>

Start a local test provider from a handler file.

crumb serve ./handler.js --port 3000 --price '$0.01'

The handler file should export a default Express-compatible request handler:

// handler.ts
export default (req: any, res: any) => {
res.json({ message: 'Hello, paid world!' })
}

Configuration

Config File

Located at ~/.crumb/config.json:

{
"activeWallet": "0x22b204CF75B960c6cCf3A49D78a3Aa9845953752",
"chain": "arcTestnet"
}

Keystore

The private key is encrypted with AES-256-GCM and stored at ~/.crumb/keystore.enc. The password is read from the CRUMB_KEYSTORE_PASSWORD environment variable.

export CRUMB_KEYSTORE_PASSWORD="your-secure-password"
crumb balance

Environment Variables

VariableDescription
CRUMB_KEYSTORE_PASSWORDPassword for decrypting the keystore