Verified against @dexterai/x402 5.3.1 · 2026-07-07
OpenDexter for non-developers
By the end of this page you will have signed in with a Dextercard, opened a spend tab with a cap, watched your agent spend against it, checked what it spent, and closed the tab — all from a terminal, no code.
Every command is npx @dexterai/opendexter@latest <command>. You never install anything permanently; npx fetches the latest CLI each time. If you would rather type opendexter directly, run npm install -g @dexterai/opendexter once and drop the npx …@latest prefix from every command below.
What a tab gives you
A tab is a pre-approved spend channel between you and one seller, capped at an amount you approve. Once it is open, your agent's paid calls to that seller ride the tab and settle in the background — you approve the cap once instead of approving every call. The funds stay in your own vault, and you can close the tab at any time. See Tabs — the concept for the full model.
Before you start
You need Node.js (v18 or newer) and a wallet with a small USDC balance to pay for calls. Check your wallet address and balances:
Real output (balances are in the token's smallest unit — 1560000 is 1.56 USDC on Solana):
Steps
Sign in with your Dextercard
Your Dextercard session is your Dexter vault sign-in. A tab is opened against your vault, so sign in first. Login takes an email and mails you a one-time code:
Check the session at any time:
Before you log in, status reports no session:
Nothing in the older docs told you this ordering. Sign in with dextercard login before tab connect so the tab attaches to your signed-in vault instead of a bare local keypair.
Check what a seller charges
Before opening a tab, inspect the endpoint. check reads the price and payment options without paying anything:
Real output — this seller offers both a tab scheme and an exact (pay-per-call) scheme at $0.01 a call:
A seller that lists a tab scheme can back a tab. If it only lists exact, you pay per call and skip the tab.
Open a capped tab
tab connect starts the approval for a tab with one seller:
This prints a passkey approval link. You open the link, approve the tab, and choose the cap there — the dollar ceiling the tab may spend. The CLI polls the chain for your approval (up to --timeout minutes, default 10) and returns once it is live. Add --no-wait to print the link and exit instead of waiting.
There is no --cap flag on tab connect today. You set the cap in the approval step, not on the command line. After approval, the cap shows up in tab list as capUsdc.
If a tab with that seller is already open, the CLI tells you and does not open a second one:
Let your agent spend, and set spend guards
With the tab open, fetch the paid resource. Payment rides the tab automatically:
fetch pays via an open tab by default when the seller offers one. Pass --no-tab to force an exact per-call payment instead, or --max-amount 0.02 to cap a single call.
Independently of the tab's on-chain cap, you can set two spend guards on this machine. --max-amount is a per-call ceiling; --daily-budget is a rolling 24-hour budget:
Check what it spent
tab list shows every open tab with its cap, what it has spent, and what has settled on-chain:
Real output:
capUsdc is the ceiling you approved. spentUsdc is what your agent has run up against the tab. crystallizedUsdc is how much of that has been settled on-chain to the seller so far.
For a machine-wide total, settings with no flags reports your 24-hour spend:
Close the tab and sign out
Close the tab with the seller (accepts the seller URL or the counterparty pubkey shown in tab list):
tab remove deletes the local tab record; tab close is the one that stops spending. When you are done for the session, sign out of your vault:
Honest gaps
These are commands a non-developer reasonably reaches for that the CLI does not have today. Here is what to use instead:
| You want | What to do today |
|---|---|
A --cap flag on tab connect | Set the cap in the passkey approval step. It is not a command-line flag; it appears afterward as capUsdc in tab list. |
An itemized receipt of every call (opendexter receipts) | No receipts command exists. Use tab list for per-tab spentUsdc / crystallizedUsdc and settings for spend.last24hUsdc. |
A revoke verb | There is no revoke. Revoking a tab is tab close; revoking your vault session is dextercard logout. |