{"_id":"@agenticfi/onchain-router-cli","_rev":"5-d275d8977d49b288e6ecd703b0d826a1","name":"@agenticfi/onchain-router-cli","dist-tags":{"alpha":"0.1.2","latest":"0.1.3"},"versions":{"0.1.0":{"name":"@agenticfi/onchain-router-cli","version":"0.1.0","keywords":["x402","usdc","base","ai-agents","cli","wallet","payments"],"author":{"name":"AgenticFI"},"license":"MIT","_id":"@agenticfi/onchain-router-cli@0.1.0","maintainers":[{"name":"sarenabg","email":"saren.abgaryan@yahoo.com"}],"homepage":"https://llm.agenticfi.wtf/docs/cli","bugs":{"url":"https://github.com/AgenticFI/onchain-router-clients/issues"},"bin":{"onchain-router":"dist/index.js"},"dist":{"shasum":"d892e9502a2a98ec50ca3b4fc7c2e06baad6931d","tarball":"https://registry.npmjs.org/@agenticfi/onchain-router-cli/-/onchain-router-cli-0.1.0.tgz","fileCount":8,"integrity":"sha512-ogrohm44k6TXcYi+Sul9cebGxNUHZnOA3KmfIjTH60fYrq8gcdOwkLBDkO8+7OBSssrJzq8hfkSBOhQtJVN5Ag==","signatures":[{"sig":"MEQCIFQy3SX2nsRjvJJM9GTGcREvzC4Wjc/qVjF7hULhlqUZAiBFd744mNKIPnRmBtoUYr4ERaKcoRnIf+spN5XeCyK2YA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agenticfi%2fonchain-router-cli@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":54491},"type":"module","_from":"file:/home/runner/work/onchain-router-clients/onchain-router-clients/.artifacts/npm/agenticfi-onchain-router-cli-0.1.0.tgz","engines":{"node":">=20.18.0"},"private":false,"scripts":{"lint":"eslint src tests","test":"vitest run","build":"tsup src/index.ts src/broker-worker.ts --format esm --dts --clean && chmod 755 dist/index.js","clean":"rm -rf dist coverage","test:unit":"vitest run","typecheck":"tsc --noEmit","test:integration":"vitest run --passWithNoTests"},"_npmUser":{"name":"sarenabg","email":"saren.abgaryan@yahoo.com"},"_resolved":"/home/runner/work/onchain-router-clients/onchain-router-clients/.artifacts/npm/agenticfi-onchain-router-cli-0.1.0.tgz","_integrity":"sha512-ogrohm44k6TXcYi+Sul9cebGxNUHZnOA3KmfIjTH60fYrq8gcdOwkLBDkO8+7OBSssrJzq8hfkSBOhQtJVN5Ag==","repository":{"url":"git+https://github.com/AgenticFI/onchain-router-clients.git","type":"git","directory":"apps/buyer-cli"},"_npmVersion":"11.5.1","description":"Command-line wallet, budgets, x402 payments, recovery, and receipts for Onchain Router","directories":{},"_nodeVersion":"22.14.0","dependencies":{"@agenticfi/onchain-router":"0.1.0","@agenticfi/onchain-router-buyer-core":"0.1.0"},"publishConfig":{"tag":"alpha","access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"4.21.0","tsup":"8.5.1","vitest":"4.1.0","@x402/core":"2.21.0","typescript":"5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/onchain-router-cli_0.1.0_1788263650308_0.7896231088418386","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Moved to @onchainrouter/cli. Install @onchainrouter/cli@0.2.0."},"0.1.1":{"name":"@agenticfi/onchain-router-cli","version":"0.1.1","keywords":["x402","usdc","base","ai-agents","cli","wallet","payments"],"author":{"name":"AgenticFI"},"license":"MIT","_id":"@agenticfi/onchain-router-cli@0.1.1","maintainers":[{"name":"sarenabg","email":"saren.abgaryan@yahoo.com"}],"homepage":"https://llm.agenticfi.wtf/docs/cli","bugs":{"url":"https://github.com/AgenticFI/onchain-router-clients/issues"},"bin":{"onchain-router":"dist/index.js"},"dist":{"shasum":"9cba85d1f20195051f5ced20c729421ff06a18a3","tarball":"https://registry.npmjs.org/@agenticfi/onchain-router-cli/-/onchain-router-cli-0.1.1.tgz","fileCount":8,"integrity":"sha512-K9CHQivFg/TWulZzzY+Zwd7FiiMbrq8N8gWaR/zf+OUZILn7+eFnfO9puP6O0j5Of2dlCLRkGj/RATO0opUTEg==","signatures":[{"sig":"MEUCIG+//X3sESHp9UPI/4z9UX54tc15emSYsATnCQWGP8hJAiEA04ympceQcxYDuJMZ0I1uHG2v+fBmuX6QQg7w+6ZzB0o=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agenticfi%2fonchain-router-cli@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":59222},"type":"module","_from":"file:/home/runner/work/onchain-router-clients/onchain-router-clients/.artifacts/npm/agenticfi-onchain-router-cli-0.1.1.tgz","engines":{"node":">=20.18.0"},"private":false,"scripts":{"lint":"eslint src tests","test":"vitest run","build":"tsup src/index.ts src/broker-worker.ts --format esm --dts --clean && chmod 755 dist/index.js","clean":"rm -rf dist coverage","test:unit":"vitest run","typecheck":"tsc --noEmit","test:integration":"vitest run --passWithNoTests"},"_npmUser":{"name":"sarenabg","email":"saren.abgaryan@yahoo.com"},"_resolved":"/home/runner/work/onchain-router-clients/onchain-router-clients/.artifacts/npm/agenticfi-onchain-router-cli-0.1.1.tgz","_integrity":"sha512-K9CHQivFg/TWulZzzY+Zwd7FiiMbrq8N8gWaR/zf+OUZILn7+eFnfO9puP6O0j5Of2dlCLRkGj/RATO0opUTEg==","repository":{"url":"git+https://github.com/AgenticFI/onchain-router-clients.git","type":"git","directory":"apps/buyer-cli"},"_npmVersion":"11.5.1","description":"Command-line wallet, budgets, x402 payments, recovery, and receipts for Onchain Router","directories":{},"_nodeVersion":"22.14.0","dependencies":{"@agenticfi/onchain-router":"0.1.1","@agenticfi/onchain-router-buyer-core":"0.1.1"},"publishConfig":{"tag":"alpha","access":"public","provenance":true},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"4.21.0","tsup":"8.5.1","vitest":"4.1.0","@x402/core":"2.21.0","typescript":"5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/onchain-router-cli_0.1.1_1788387693437_0.20266097439706754","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Moved to @onchainrouter/cli. Install @onchainrouter/cli@0.2.0."},"0.1.2":{"name":"@agenticfi/onchain-router-cli","version":"0.1.2","keywords":["x402","usdc","base","ai-agents","cli","wallet","payments"],"author":{"name":"AgenticFI"},"license":"MIT","_id":"@agenticfi/onchain-router-cli@0.1.2","maintainers":[{"name":"sarenabg","email":"saren.abgaryan@yahoo.com"}],"homepage":"https://llm.agenticfi.wtf/docs/cli","bugs":{"url":"https://github.com/AgenticFI/onchain-router-clients/issues"},"bin":{"onchain-router":"dist/index.js"},"dist":{"shasum":"e99eb5918f4970562709414dcfa0c4468e073f41","tarball":"https://registry.npmjs.org/@agenticfi/onchain-router-cli/-/onchain-router-cli-0.1.2.tgz","fileCount":8,"integrity":"sha512-b8vl7APb5jukpySTiowCeCu1pVqnAYGq/rBH+Sg+sWSl6TXPABwGpJBXO6II0PtWLp/s9ogFNNSreYVvrfoV9Q==","signatures":[{"sig":"MEUCIQC4AduEr069lydnlRfKv8ECBya/74eNoo7VxoIXAbuhsgIgHV3Oo+VClQ3F+sUPYy1BPhm4qw+Ro4BEQjS72JHMeEs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agenticfi%2fonchain-router-cli@0.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":61946},"type":"module","_from":"file:/home/runner/work/onchain-router-clients/onchain-router-clients/.artifacts/npm/agenticfi-onchain-router-cli-0.1.2.tgz","engines":{"node":">=20.18.0"},"private":false,"scripts":{"lint":"eslint src tests","test":"vitest run","build":"tsup src/index.ts src/broker-worker.ts --format esm --dts --clean && chmod 755 dist/index.js","clean":"rm -rf dist coverage","test:unit":"vitest run","typecheck":"tsc --noEmit","test:integration":"vitest run --passWithNoTests"},"_npmUser":{"name":"sarenabg","email":"saren.abgaryan@yahoo.com"},"_resolved":"/home/runner/work/onchain-router-clients/onchain-router-clients/.artifacts/npm/agenticfi-onchain-router-cli-0.1.2.tgz","_integrity":"sha512-b8vl7APb5jukpySTiowCeCu1pVqnAYGq/rBH+Sg+sWSl6TXPABwGpJBXO6II0PtWLp/s9ogFNNSreYVvrfoV9Q==","repository":{"url":"git+https://github.com/AgenticFI/onchain-router-clients.git","type":"git","directory":"apps/buyer-cli"},"_npmVersion":"11.5.1","description":"Command-line wallet, budgets, x402 payments, recovery, and receipts for Onchain Router","directories":{},"_nodeVersion":"22.14.0","dependencies":{"@agenticfi/onchain-router":"0.1.2","@agenticfi/onchain-router-buyer-core":"0.1.2"},"publishConfig":{"tag":"alpha","access":"public","provenance":true},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"tsx":"4.21.0","tsup":"8.5.1","vitest":"4.1.0","@x402/core":"2.21.0","typescript":"5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/onchain-router-cli_0.1.2_1788443494969_0.8368967090653638","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Moved to @onchainrouter/cli. Install @onchainrouter/cli@0.2.0."},"0.1.3":{"name":"@agenticfi/onchain-router-cli","version":"0.1.3","keywords":["x402","usdc","base","ai-agents","cli","wallet","payments"],"author":{"name":"AgenticFI"},"license":"MIT","_id":"@agenticfi/onchain-router-cli@0.1.3","maintainers":[{"name":"sarenabg","email":"saren.abgaryan@yahoo.com"}],"homepage":"https://onchainrouter.dev/docs/cli","bugs":{"url":"https://github.com/AgenticFI/onchain-router-clients/issues"},"bin":{"onchain-router":"dist/index.js"},"dist":{"shasum":"f3f5be05ce448c77be79b3bebf818055922f8c39","tarball":"https://registry.npmjs.org/@agenticfi/onchain-router-cli/-/onchain-router-cli-0.1.3.tgz","fileCount":8,"integrity":"sha512-gjPP4XQaiJIttPRNchNNot1kgx4h8EKfK0U5AbMXmCs1cLK0I8TBHQDsWmaTP3ws9qcidL0LviH5/22I+uYqaw==","signatures":[{"sig":"MEQCIHgcvIjImeIDOtCEDp01UFqD9G1Sgdu/r4uL59j8nvhPAiB9pCiq3wRvkcRHoTxlw6t7D0CcNb9nJw9heTye/4IzWQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@agenticfi%2fonchain-router-cli@0.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":61893},"type":"module","_from":"file:/home/runner/work/onchain-router-clients/onchain-router-clients/.artifacts/npm/agenticfi-onchain-router-cli-0.1.3.tgz","engines":{"node":">=20.18.0"},"private":false,"scripts":{"lint":"eslint src tests","test":"vitest run","build":"tsup src/index.ts src/broker-worker.ts --format esm --dts --clean && chmod 755 dist/index.js","clean":"rm -rf dist coverage","test:unit":"vitest run","typecheck":"tsc --noEmit","test:integration":"vitest run --passWithNoTests"},"_npmUser":{"name":"sarenabg","email":"saren.abgaryan@yahoo.com"},"_resolved":"/home/runner/work/onchain-router-clients/onchain-router-clients/.artifacts/npm/agenticfi-onchain-router-cli-0.1.3.tgz","_integrity":"sha512-gjPP4XQaiJIttPRNchNNot1kgx4h8EKfK0U5AbMXmCs1cLK0I8TBHQDsWmaTP3ws9qcidL0LviH5/22I+uYqaw==","repository":{"url":"git+https://github.com/AgenticFI/onchain-router-clients.git","type":"git","directory":"apps/buyer-cli"},"_npmVersion":"11.5.1","description":"Command-line wallet, budgets, x402 payments, recovery, and receipts for Onchain Router","directories":{},"_nodeVersion":"22.14.0","dependencies":{"@agenticfi/onchain-router":"0.1.3","@agenticfi/onchain-router-buyer-core":"0.1.3"},"publishConfig":{"tag":"latest","access":"public","provenance":true},"_hasShrinkwrap":false,"devDependencies":{"tsx":"4.21.0","tsup":"8.5.1","vitest":"4.1.0","@x402/core":"2.21.0","typescript":"5.9.3"},"_npmOperationalInternal":{"tmp":"tmp/onchain-router-cli_0.1.3_1788514383292_0.7403999509110581","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Moved to @onchainrouter/cli. Install @onchainrouter/cli@0.2.0."}},"time":{"created":"2026-09-01T11:54:10.016Z","modified":"2026-09-04T13:30:21.850Z","0.1.0":"2026-09-01T11:54:10.456Z","0.1.1":"2026-09-02T22:21:33.571Z","0.1.2":"2026-09-03T13:51:35.089Z","0.1.3":"2026-09-04T09:33:03.425Z"},"bugs":{"url":"https://github.com/AgenticFI/onchain-router-clients/issues"},"author":{"name":"AgenticFI"},"license":"MIT","homepage":"https://onchainrouter.dev/docs/cli","keywords":["x402","usdc","base","ai-agents","cli","wallet","payments"],"repository":{"url":"git+https://github.com/AgenticFI/onchain-router-clients.git","type":"git","directory":"apps/buyer-cli"},"description":"Command-line wallet, budgets, x402 payments, recovery, and receipts for Onchain Router","maintainers":[{"name":"sarenabg","email":"saren.abgaryan@yahoo.com"}],"readme":"# Onchain Router CLI\n\nCreate a dedicated buyer wallet, set USDC budgets, unlock a short-lived signer, discover live AI\nmodels, pay x402 challenges, recover lost responses, and inspect verified receipts from one\nterminal command: `onchain-router`.\n\nThe CLI is the supported human-authority surface for wallet setup/import, passphrase rotation,\nunlock, funding guidance, and policy widening. SDKs, MCP, the Agent Skill, and the local proxy reuse\nthe same Buyer Runtime rather than implementing another payment stack. The core also has encrypted\nbackup/restore primitives.\n\n## Release status\n\nVersion `0.1.3` is the stable npm release for the `onchainrouter.dev` domain cutover. Run every authority-changing\ncommand in a human-controlled terminal.\n\n## Requirements\n\n- Node.js 20.18 or newer;\n- macOS or Linux;\n- a dedicated Base wallet funded with enough USDC for the intended calls; ordinary exact payments\n  need no Base ETH or token approval;\n- direct access to a human terminal for secret and policy prompts.\n\nWindows is not yet a supported host. Payments use Base mainnet USDC only. The CLI discovers the\ncurrent USDC contract, recipient, models, voices, and prices from the canonical service.\n\n## Installation\n\nInstall the stable release explicitly:\n\n```bash\nnpm install --global @agenticfi/onchain-router-cli@0.1.3\nonchain-router --version\n```\n\nTo build and run the exact published source:\n\n```bash\ncorepack enable\npnpm install --frozen-lockfile\npnpm buyer:deps\npnpm exec turbo run build --filter=@agenticfi/onchain-router-cli...\nnode apps/buyer-cli/dist/index.js --help\n```\n\nUse `node apps/buyer-cli/dist/index.js` in place of `onchain-router` for every source command below.\n\n## Quick start\n\n```bash\nonchain-router setup \\\n  --origin https://onchainrouter.dev \\\n  --models gemini-3.6-flash \\\n  --agent founder-cli-smoke \\\n  --per-call-usdc 0.02 \\\n  --session-usdc 0.06 \\\n  --hour-usdc 0.06 \\\n  --day-usdc 0.10 \\\n  --max-output-tokens 512 \\\n  --confirm-each true \\\n  --wallet-mode create \\\n  --yes\nonchain-router funding\nonchain-router policy show\nonchain-router unlock\nonchain-router models\nonchain-router pricing\nonchain-router chat \"Explain x402 in two sentences.\" --model gemini-3.6-flash --max-output-tokens 256\nonchain-router lock\n```\n\n`setup` creates or imports an encrypted dedicated wallet. The flags above provide every non-secret\nchoice in one copyable command; passphrases and imported wallet material remain private, no-echo\nterminal prompts. Omit any flag to answer that choice interactively. `funding` prints the public\nBase address and guidance; it does not transfer funds.\n\nThe 512-token policy ceiling leaves room for models that use internal reasoning tokens before\nreturning visible text. Individual requests may choose a lower value, but very small ceilings can\nproduce a definite-unpaid `empty_provider_response`.\n\nWallet import and passphrase entry are direct, no-echo interactions. Never supply a private key,\nseed phrase, passphrase, or signer capability through command arguments, environment variables,\nstdin from an agent, source control, or a script.\n\n## Commands\n\n```text\nonchain-router setup [--origin URL] [--profile DIR] [--models A,B] [--agent ID]\n                     [--per-call-usdc N] [--session-usdc N] [--hour-usdc N]\n                     [--day-usdc N] [--max-output-tokens N]\n                     [--confirm-each true|false] [--wallet-mode create|import] [--yes]\nonchain-router unlock [--agent ID] [--idle-seconds N] [--session-seconds N]\nonchain-router lock | status | balance | funding | models | pricing | voices\nonchain-router wallet rotate-passphrase\nonchain-router policy show\nonchain-router policy set [--scheme exact] [--models A,B] [--per-call-usdc N] [--session-usdc N]\n                          [--hour-usdc N] [--day-usdc N]\n                          [--max-output-tokens N] [--confirm-each true|false]\nonchain-router chat \"prompt\" --model MODEL [--max-output-tokens N]\nonchain-router image | speak | messages --idempotency-key KEY < request.json\nonchain-router transcribe --file AUDIO.mp3 --model MODEL --idempotency-key KEY\nonchain-router receipt IDEMPOTENCY_KEY\nonchain-router doctor [--out FILE]\n```\n\nNew profiles use `exact`. A profile created by an older alpha with `upto` is locked from signing;\nmigrate it once with `onchain-router policy set --profile DIR --scheme exact`. The command requires\nthe wallet passphrase and preserves the wallet, models, delegations, and monetary limits.\n\nAdd `--json` for a stable versioned automation envelope. Use a separate `--profile DIR` when a\nhuman intentionally maintains more than one isolated buyer. Do not let model-supplied text select\nthe profile or executable.\n\nIf a passphrase may have been disclosed, lock the wallet and rotate it in a human-controlled\nterminal. All three prompts are hidden, the wallet address stays unchanged, and both the active and\nlast-good vault copies are re-encrypted under the new passphrase:\n\n```bash\nonchain-router lock --profile YOUR_PROFILE\nonchain-router wallet rotate-passphrase --profile YOUR_PROFILE\n```\n\nReplace any separately exported encrypted backups yourself; the CLI cannot locate external copies.\n\n## Stable idempotency keys\n\nCreate and retain one key before each logical paid request. Reuse it only with the identical body.\nFor shell automation:\n\n```bash\nREQUEST_ID=\"$(node -p 'require(\"node:crypto\").randomUUID()')\"\nprintf '%s\\n' \"$REQUEST_ID\" > request-id.txt\nonchain-router chat \"Hello\" \\\n  --model gemini-3.6-flash \\\n  --max-output-tokens 128 \\\n  --idempotency-key \"$REQUEST_ID\"\n```\n\nPrefer JSON on stdin for automation so prompts do not enter shell history. Never blindly retry\n`ProviderOutcomeUnknown` or `SettlementOutcomeUnknown`; recover with the original key:\n\n```bash\nonchain-router receipt \"$REQUEST_ID\"\n```\n\n## Media and Messages\n\nRefresh `models`, `pricing`, and `voices` before selecting a model or option. `image`, `speak`, and\n`messages` accept a bounded JSON object on stdin.\n\n```bash\nREQUEST_ID=\"$(node -p 'require(\"node:crypto\").randomUUID()')\"\nprintf '%s' '{\n  \"model\":\"gemini-3.1-flash-lite-image\",\n  \"prompt\":\"A geometric blue bridge on a white background\",\n  \"image_size\":\"1K\",\n  \"aspect_ratio\":\"1:1\",\n  \"response_format\":\"url\"\n}' | onchain-router image --idempotency-key \"$REQUEST_ID\"\n```\n\n```bash\nREQUEST_ID=\"$(node -p 'require(\"node:crypto\").randomUUID()')\"\nprintf '%s' '{\n  \"model\":\"elevenlabs/flash-v2.5\",\n  \"input\":\"Hello from Onchain Router.\",\n  \"response_format\":\"mp3\"\n}' | onchain-router speak --idempotency-key \"$REQUEST_ID\"\n```\n\nImage URLs currently expire after seven days; speech URLs currently expire after 24 hours. Both\nare bearer capabilities and should be downloaded before expiry without being logged or published.\n\nTranscription reads one bounded, owner-readable regular MP3 file. It rejects symlinks and arbitrary\nURLs and asks the human to acknowledge that ElevenLabs may retain uploaded audio and transcripts\nindependently of Onchain Router staging deletion:\n\n```bash\nREQUEST_ID=\"$(node -p 'require(\"node:crypto\").randomUUID()')\"\nonchain-router transcribe \\\n  --file speech.mp3 \\\n  --model elevenlabs/scribe-v2 \\\n  --idempotency-key \"$REQUEST_ID\"\n```\n\nDo not upload sensitive or third-party audio without permission.\n\n## Payment and output contract\n\nThe CLI previews and validates the live 402 challenge against human-owned policy before signing.\nSuccessful JSON includes the result, idempotency key, verified receipt, Base network, signed exact\namount, matching atomic USDC settlement, and settlement transaction. It never settles above the\nsigned amount and never releases a response before the result, settlement, and receipt are durable.\n\nThe public API uses a request-specific exact amount. For text, `max-output-tokens` affects that\nprice, so choose a realistic limit. Use live `/v1/pricing` and the challenge for current pricing.\nAll accounting uses integer atomic USDC; the CLI never uses floating point for financial state.\n\n## Security\n\n- Use a dedicated low-balance wallet with conservative per-call/session/hour/day limits.\n- Keep the default profile and backups owner-only; never sync them into a repository or shared\n  cloud folder.\n- Unlock for the shortest useful session and run `onchain-router lock` afterward.\n- Keep `--confirm-each true` when an unattended agent should not approve every payment.\n- Never log prompts, completions, wallet material, payment signatures, complete payment payloads,\n  receipt capabilities, or hosted media URLs.\n- Review `onchain-router doctor` output before sharing it; the command is designed to be redacted.\n\nReport security issues using the repository [`SECURITY.md`](https://github.com/AgenticFI/onchain-router-clients/blob/main/SECURITY.md).\n\n## Troubleshooting\n\n- `wallet is locked`: run `onchain-router unlock` directly, not through an agent.\n- Passphrase disclosed: lock immediately and run `wallet rotate-passphrase` in your own terminal;\n  never place either passphrase in arguments, shell history, chat, logs, or source control.\n- Insufficient USDC: use `onchain-router funding` and verify the connected wallet is on Base.\n- Legacy profile rejected: authenticate and run\n  `onchain-router policy set --profile YOUR_PROFILE --scheme exact`, then unlock and retry with a\n  fresh idempotency key. The migration preserves the wallet and every policy limit.\n- Model or option rejected: refresh `models`, `pricing`, and `voices`, then compare with `policy show`.\n- Budget rejected: lower the request or have the human review policy; never silently widen it.\n- Lost or ambiguous response: keep the same key/body and run `receipt`; do not create a new key.\n- Native SQLite build error in a source checkout: use a supported Node version and rerun\n  `pnpm buyer:deps`.\n\n## Support\n\nDocumentation: <https://onchainrouter.dev/docs/cli>\n\nIssues: <https://github.com/AgenticFI/onchain-router-clients/issues>\n\nAttach the CLI version, OS, Node version, sanitized outcome code, and redacted `doctor` output.\nNever attach wallet material, prompts, completions, signatures, or receipt capabilities.\n\n## License\n\nMIT. See [LICENSE](LICENSE).\n","readmeFilename":"README.md"}