Help
Troubleshooting
The errors people hit most, and the fix for each. Error text is shown as the CLI prints it.
Signing in
confirm your email first: we just sent you a new link
Your email address isn't confirmed yet. Open the newest confirmation email, click the link, then run cryptocadet login again.
wrong email or password
Use the same email and password as cryptocadet.app/v4/login. If CRYPTOCADET_PASSWORD is set in your shell, check it, because it is used instead of the prompt.
keychain backend unavailable
init couldn't find an OS keychain. On Linux, install libsecret-tools or run npm i -g @napi-rs/keyring. On Windows, use the PowerShell installer, which includes it. See Install.
Paying with USDC
recipient not allowlisted 0x…
You haven't trusted this seller yet. The error ends with the command to do it:
cryptocadet allowlist:add --kind recipient --address 0x…
exceeds per-tx cap / exceeds daily cap
The price is above your per-payment limit, or today's spending would pass your daily limit. Raise it if you mean to:
cryptocadet policy:set --kind perTx --token 0x833589fcd6edb6e08f4c7c32d4f71b54bda02913 --usdc 5
cryptocadet policy:set --kind daily --token 0x833589fcd6edb6e08f4c7c32d4f71b54bda02913 --usdc 25
above human-confirm threshold. Confirm it: re-run with --approve
You set a requireHumanAbove threshold and this payment is above it. Re-run the same fetch with --approve.
insufficient balance
The agent wallet doesn't hold enough USDC. Check it with cryptocadet wallet:show and send more USDC on Base to the agent address.
ETH is low
wallet:show warns when the wallet is short of ETH for gas. The CLI swaps a little USDC for ETH by itself, but it needs some ETH to make that swap. If the ETH balance is zero, send a small amount of ETH on Base to the agent address.
no requirement payable on chain 8453
The item doesn't accept USDC: the seller hasn't set a payout address, or the item is private. Pay with card credits instead (Buying). If the message says credits refused, the reason credits failed is shown in brackets.
VERIFY_FAILED
If you are calling the gateway yourself right after paying, the transaction doesn't have enough confirmations yet. Wait a few seconds and send the same X-PAYMENT again, before the quote expires.
Card credits
I paid but my credits didn't go up
Settle the top-up by hand with the session id credits:buy printed:
cryptocadet credits:verify --session <sessionId>
INSUFFICIENT_CREDITS
Your balance is below the price. Top up with cryptocadet credits:buy --usd 5 (or more).
AGENT_PER_CALL_CAP / AGENT_DAILY_CAP
The price is above the token's per-call cap, or the token has spent its daily cap in the last 24 hours. Caps can't be edited: create a token with higher caps (it replaces the one on this machine) and revoke the old one.
This agent token is not allowed to buy from …
The token was created with --sellers and this seller isn't on the list. Create a token that includes it.
This item is private and has not been shared with you
The seller hasn't shared this item with the email on your account, or has stopped sharing it. Ask them to share it with the email you sign in with.
Unknown or revoked agent token
The token on this machine was revoked. Run cryptocadet agent-token:clear, then create a new one.
Fetching
only https URLs
fetch only requests https URLs (and localhost for testing).
header … is set by the payment flow
Don't pass Authorization, X-PAYMENT or X-CryptoCadet-Agent with --header. The CLI adds what's needed.
502 ORIGIN_ERROR
The seller's server failed. If you paid with credits, the response says whether the charge was refunded (refunded: true). USDC payments can't be refunded by CryptoCadet; contact the seller.
Selling
that handle is taken / that handle is reserved
Pick another handle. Handles are 3 to 32 characters of a-z, 0-9 and dashes.
you already have a product with that slug
Slugs are unique per seller. Choose another, or disable the old item.
proxy products need an originUrl / originUrl must use https
Pass --origin-url with an https URL on a public host. Private network addresses and localhost are refused.
content is limited to 200KB
Hosted content can be up to 200 KB. For anything bigger, serve it from your own server as a proxy item.
Buyers can only pay me with credits
Set a payout address with cryptocadet payout:set. Without one, the 402 offers card credits only.