CLI
Operate hosted and local agent wallets
Install the CLI with Bun, then authorize selected hosted agents and networks in the browser:
bun add -g @agentis-hq/cli@latest
agentis login
agentis wallet list
agentis wallet balancePublic API discovery does not require login or a wallet:
agentis discover "web search" --limit 3
agentis discover describe exa --jsonThis reads Mercator's catalog, with provider endpoints, input schemas, estimated prices and advisory compatibility. No payment or provider call occurs. Use existing fetch separately for an explicitly requested payment. These commands require a backend deployment containing discovery routes; use AGENTIS_API_URL for a local backend.
Hosted commands cover balances, policy/history reads, transfers, paid fetches, Uniswap and ENS. Ask mode returns a dashboard approval URL; automatic mode executes only within the agent's rules.
Local custody supports wallet creation, balances, policies, transfers and x402/MPP paid fetches:
agentis wallet create --local --name local-agent --chains base,ethereum,tempo,solana
agentis policy show --local --wallet local-agentTempo supports OUSD (the new-selection default), USDC.e and pathUSD on mainnet and testnet, plus alphaUSD on testnet. Sends and MPP charge requests accept --asset and --fee-asset for separate payment/gas tokens. Testnet USDC.e cannot pay gas and defaults to OUSD fees at request creation. Tempo MPP charges support provider-sponsored gas as well as agent-paid gas. Use --method, repeatable --header, and either --data or --data-file for exact provider requests, including non-JSON formats. No betaUSD/thetaUSD or automatic swaps; MPP sessions remain unimplemented.
Solana MPP supports SOL/USDC pull-mode charges with sponsored or agent-paid fees. USDC is the default; choose --asset SOL for native payments. Hosted --max-fee-atomic is in lamports and includes potential ATA rent; local --max-fee defaults to 0.005 SOL. Solana x402 remains available. Tempo/Solana MPP splits show every recipient/share and budget the charge total once. Solana rent exposure is per distinct recipient ATA. Tempo push-only offers are supported with agent-paid fees: Agentis persists proof, broadcasts, confirms settlement and sends the provider a hash credential. Dual-mode offers prefer pull; provider sponsorship stays pull-only. HTTP failure never triggers a new payment. Solana push remains unsupported; Base x402 is unchanged.
Use --chain with a key from networks and assets.
Automatic request identity
Hosted sends, paid fetches, operation creation and card requests generate a fresh UUID when --key is omitted. The CLI saves it before sending in ~/.agentis/payment-requests/ and prints the request ID to stderr. Two ordinary invocations are two new requests, even when their amounts and recipients are identical.
To retry an existing request, repeat its original command and arguments with --retry <request-id> or --retry latest. latest selects the most recent saved request for that credential and command type. The API, credential, command and request terms must match; mismatches stop before submission. A retry uses the original key, so the backend returns/reconciles that request instead of paying again. After uncertainty, use this explicit retry or inspect the existing operation—do not rerun a bare payment command.
The private journal stores the UUID, credential/API fingerprint and request hash, not credentials, bodies, card captures or signed transactions. The hash validates retry terms; it does not deduplicate new payments. --key remains an explicit stable-key override and cannot be combined with --retry. Local-custody commands retain their existing explicit-key flow.
Card purchases
Requires CLI 0.7.0 or later and Agentcard setup. The plugin and separate card permission must be enabled for the CLI connection. These are hosted commands, not local-wallet payments.
agentis cards status --agent <agent-name-or-id>
agentis cards setup --agent <agent-name-or-id>
agentis cards ask --agent <agent-name-or-id> --file ask.jsonsetup returns the owner's dashboard setup link; it does not connect a card or grant consent itself. Example ask.json:
{ "ask": "Find a notebook under $10. Do not purchase yet." }Inspect the returned conversation and carts. To request the selected purchase, create cart.json with the exact returned conversationId and reviewed cartHash:
agentis cards confirm --agent <agent-name-or-id> --file cart.json
agentis cards get <checkout-id> --agent <agent-name-or-id>Confirm may place a real order in Auto mode. In Ask mode, open the returned dashboard approval link. cards execute <checkout-id> submits an already-authorized Purchase API request; it never approves. cards conversation <turn-id> reads an existing shopping turn. cards list lists checkouts. cards cancel <checkout-id> requests checkout cancellation, not a merchant refund.
Use cards continue <checkout-id> only for the same known-unpaid cart after completing Agentcard approval. After a timeout or unknown outcome, inspect the original request; never create a new key to retry the purchase. Card payment completion does not establish merchant order completion.
Browser checkout uses the SDK browser adapter, not CLI-driven browser automation. cards request accepts an official SDK capture for advanced use; do not construct or log captures manually. Run agentis cards --help for exact options.
Local wallet files are plaintext, owner-permission-protected files. Reuse an unchanged request key after uncertainty. An unknown submission is not permission to pay again. Run agentis --help for exact flags.