← blog
3 min readProduct

Introducing the SBC Agent Stack CLI

The SBC Agent Stack CLI (`@stablecoin.xyz/cli`) brings agent auth, balances, x402/MPP payments, SBC/cfUSD sends, and seller endpoint management to your terminal.

The SBC Agent Stack CLI is the terminal interface for SBC Agent Payments. From one binary — `sbc` — you can authenticate as a user or agent, check balances, pay x402 and MPP seller URLs, send SBC or cfUSD, and manage agents and seller endpoints.

The package is published on npm as @stablecoin.xyz/cli (current release: v0.2.0). Source lives on GitHub. Requires Node.js 20+.

Install

npm install -g @stablecoin.xyz/cli

# verify
sbc --version
sbc --help

After install, the sbc binary is available globally. Use --output json on any command for machine-readable output in scripts and CI.

What you can do

  • Authenticate with a user key (sk_user_…) or an agent key (sk_live_…)
  • Check wallet balances — SBC everywhere; cfUSD on Base / Base Sepolia
  • Pay seller URLs over x402 or MPP (sbc pay)
  • Send tokens to any address (sbc send), gasless on Base via ERC-4337 paymaster
  • List, create, and archive agents and seller endpoints
  • Fetch the platform agent manifest

Quickstart: log in

Generate a user key in the dashboard at agents.stablecoin.xyz → Settings → CLI access → Generate key. Create an agent and an API key on the agent detail page for agent commands.

# User login (account-level commands: agent list/create, endpoints, …)
sbc login --user-key sk_user_YOUR_KEY
sbc user whoami

# Agent login (balance, pay, send)
sbc agent login --agent-key sk_live_YOUR_KEY
sbc whoami

Agent login resolves agent ID, chain, and wallet from the API key automatically. Credentials are stored in ~/.sbc/config.json with 0600 permissions. In CI, prefer SBC_USER_KEY, SBC_AGENT_KEY, and SBC_API_URL env vars instead of the config file.

Balance, pay, and send

Token choice happens at action time — not when you create an agent. SBC is supported on all chains; cfUSD is available on Base and Base Sepolia.

# Balances: total + SBC / cfUSD split on Base
sbc balance
sbc balance --token cfUSD

# Pay a seller URL (amount and token come from the 402 response)
sbc pay --url "https://api.example.com/data"

# Send tokens (default SBC; pass --token cfUSD on Base)
sbc send --to 0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb0 --amount 1.5
sbc send --to 0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb0 --amount 1.5 --token cfUSD

On Base and Base Sepolia, sbc send uses ERC-4337 account abstraction with the SBC AA proxy as bundler and paymaster — gas is sponsored, so the agent wallet does not need ETH. On Radius and Tempo, transfers are direct (SBC only).

Manage agents and seller endpoints

These commands need a user key (sbc login). Agents do not pick a preferred token at create time; seller endpoints can declare which tokens they accept.

# Agents
sbc agent list
sbc agent create --name "My Agent" --chain base
sbc agent show <id>

# Seller endpoints
sbc endpoint create --name "My API" --url https://api.example.com --chain base-sepolia
sbc endpoint create --name "SBC only" --url https://api.example.com --chain base-sepolia --tokens SBC
sbc endpoint list
sbc endpoint keys generate <id> --label "production"

x402 and Cloudflare

`sbc pay` works with any seller that returns HTTP 402 with x402 or MPP payment headers — including APIs behind Cloudflare's Monetization Gateway. No extra CLI configuration is required.

Get started