{"_id":"@0x402/cli","_rev":"3-6940bc9df376e9b8bbcbe886d810a101","name":"@0x402/cli","dist-tags":{"latest":"0.1.2"},"versions":{"0.1.0":{"name":"@0x402/cli","version":"0.1.0","keywords":["cli","x402","agent","seal","0g"],"author":{"name":"Wayne Kuo"},"license":"MIT","_id":"@0x402/cli@0.1.0","maintainers":[{"name":"waynekuo","email":"wayne.k@typuslab.com"}],"homepage":"https://wayneal.github.io/0G","bugs":{"url":"https://github.com/WayneAl/0G/issues"},"bin":{"acu":"dist/bin.js"},"dist":{"shasum":"74888168df2cc31538d58c8c7e94dc5a113561d6","tarball":"https://registry.npmjs.org/@0x402/cli/-/cli-0.1.0.tgz","fileCount":19,"integrity":"sha512-hESB/SktEOk8j39DGBxvfz9w6fqjocbJvPzqXN8uGTctmQO5m/OmqcU1c0q2re0J0ujOacegL2IopRFg6rq6Fw==","signatures":[{"sig":"MEQCIEI0Tjt1bHU9w8CVEam6wMhIJJab24Rc4cbDijU3adv6AiA4aY1ys0PSOzX7VNEqcNl5daliHxilv4UBtwGN5NFK5Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":63698},"main":"./dist/index.js","type":"module","_from":"file:0x402-cli-0.1.0.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./underwrite":{"types":"./dist/commands/underwrite.d.ts","default":"./dist/commands/underwrite.js"}},"scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","typecheck":"tsc --noEmit"},"_npmUser":{"name":"waynekuo","email":"wayne.k@typuslab.com"},"_resolved":"/private/var/folders/v9/gfr09p7j5nj2hsj_v0h5cq480000gn/T/d9805f9231276f5fffa24fd3d1577da6/0x402-cli-0.1.0.tgz","_integrity":"sha512-hESB/SktEOk8j39DGBxvfz9w6fqjocbJvPzqXN8uGTctmQO5m/OmqcU1c0q2re0J0ujOacegL2IopRFg6rq6Fw==","repository":{"url":"git+https://github.com/WayneAl/0G.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.11.0","description":"acu — your agent hires an auditor, verifies the seal, and signs its own. Quote with no key at all; verify any seal offline.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^3.25.0","viem":"^2.23.2","@0x402/seal":"0.1.0","@0x402/config":"0.1.0","@0x402/storage":"0.1.0","@0x402/underwriter":"0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vitest":"^3.0.5","@types/node":"^22.13.1"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.0_1788793233168_0.8726132417446468","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@0x402/cli","version":"0.1.1","keywords":["cli","x402","agent","seal","0g"],"author":{"name":"Wayne Kuo"},"license":"MIT","_id":"@0x402/cli@0.1.1","maintainers":[{"name":"waynekuo","email":"wayne.k@typuslab.com"}],"homepage":"https://wayneal.github.io/0G","bugs":{"url":"https://github.com/WayneAl/0G/issues"},"bin":{"acu":"dist/bin.js"},"dist":{"shasum":"67b98dbba14a07eb5d2e3f93b7432f227750e48c","tarball":"https://registry.npmjs.org/@0x402/cli/-/cli-0.1.1.tgz","fileCount":19,"integrity":"sha512-qXCPYK7bs71SpmmR4UI4FMDjwciNwZ8eIVboZ6V0cNeQy7s2LOJGgCVpKanJaGJxV8WF/KQKwwINcWsrt99V8Q==","signatures":[{"sig":"MEUCIQD5gth/KA4fsPbdT6wCkE2x6kHBuMmY/wagfljyuvlHUgIgA6XHvjgkuvqAT0t5Xs6zyU1inh7/51K5FtOG1xSKr74=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":66276},"main":"./dist/index.js","type":"module","_from":"file:0x402-cli-0.1.1.tgz","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./underwrite":{"types":"./dist/commands/underwrite.d.ts","default":"./dist/commands/underwrite.js"}},"scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json","typecheck":"tsc --noEmit"},"_npmUser":{"name":"waynekuo","email":"wayne.k@typuslab.com"},"_resolved":"/private/var/folders/v9/gfr09p7j5nj2hsj_v0h5cq480000gn/T/d29c1cb9f4f066ae24e07e5430817c6d/0x402-cli-0.1.1.tgz","_integrity":"sha512-qXCPYK7bs71SpmmR4UI4FMDjwciNwZ8eIVboZ6V0cNeQy7s2LOJGgCVpKanJaGJxV8WF/KQKwwINcWsrt99V8Q==","repository":{"url":"git+https://github.com/WayneAl/0G.git","type":"git","directory":"packages/cli"},"_npmVersion":"11.11.0","description":"acu — your agent hires an auditor, verifies the seal, and signs its own. Quote with no key at all; verify any seal offline.","directories":{},"_nodeVersion":"24.14.1","dependencies":{"zod":"^3.25.0","viem":"^2.23.2","@0x402/seal":"0.1.1","@0x402/config":"0.1.1","@0x402/storage":"0.1.1","@0x402/underwriter":"0.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.2","vitest":"^3.0.5","@types/node":"^22.13.1"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.1.1_1788838321016_0.13761367833147164","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@0x402/cli","version":"0.1.2","description":"acu — your agent hires an auditor, verifies the seal, and signs its own. Quote with no key at all; verify any seal offline.","license":"MIT","author":{"name":"Wayne Kuo"},"homepage":"https://wayneal.github.io/0G","repository":{"type":"git","url":"git+https://github.com/WayneAl/0G.git","directory":"packages/cli"},"bugs":{"url":"https://github.com/WayneAl/0G/issues"},"keywords":["cli","x402","agent","seal","0g"],"type":"module","main":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"./underwrite":{"types":"./dist/commands/underwrite.d.ts","default":"./dist/commands/underwrite.js"}},"bin":{"acu":"dist/bin.js"},"publishConfig":{"access":"public"},"dependencies":{"viem":"^2.23.2","zod":"^3.25.0","@0x402/config":"0.1.2","@0x402/seal":"0.1.2","@0x402/storage":"0.1.2","@0x402/underwriter":"0.1.2"},"devDependencies":{"@types/node":"^22.13.1","tsx":"^4.19.2","vitest":"^3.0.5"},"scripts":{"build":"tsc -p tsconfig.build.json","test":"vitest run","typecheck":"tsc --noEmit"},"types":"./dist/index.d.ts","_id":"@0x402/cli@0.1.2","_integrity":"sha512-M/GSmM/b1ExeQfKyw138Oo6VSNvN5VS0C+hWbY/C/llnXl+0/2zUtPKp82i1rmOoOVN/cdHrefxQcuZFQHEXuA==","_resolved":"/private/var/folders/v9/gfr09p7j5nj2hsj_v0h5cq480000gn/T/59758cb43f201f2dbe9c3900bf4f34ea/0x402-cli-0.1.2.tgz","_from":"file:0x402-cli-0.1.2.tgz","_nodeVersion":"24.14.1","_npmVersion":"11.11.0","dist":{"integrity":"sha512-M/GSmM/b1ExeQfKyw138Oo6VSNvN5VS0C+hWbY/C/llnXl+0/2zUtPKp82i1rmOoOVN/cdHrefxQcuZFQHEXuA==","shasum":"f1db21711dffa4102f8019dc9fe445d4d4922326","tarball":"https://registry.npmjs.org/@0x402/cli/-/cli-0.1.2.tgz","fileCount":19,"unpackedSize":68413,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCruMr12NpFXiXTbTGf4Oy8OGL0qxa+O2UYNyfCOVYcXwIhAOlTvfgzNVd51qOGXvfNIofBijl3rLPETWjqUDlK3vtO"}]},"_npmUser":{"name":"waynekuo","email":"wayne.k@typuslab.com"},"directories":{},"maintainers":[{"name":"waynekuo","email":"wayne.k@typuslab.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cli_0.1.2_1788845361016_0.7571684262563105"},"_hasShrinkwrap":false}},"time":{"created":"2026-09-07T15:00:32.974Z","modified":"2026-09-08T05:29:21.315Z","0.1.0":"2026-09-07T15:00:33.312Z","0.1.1":"2026-09-08T03:32:01.150Z","0.1.2":"2026-09-08T05:29:21.146Z"},"bugs":{"url":"https://github.com/WayneAl/0G/issues"},"author":{"name":"Wayne Kuo"},"license":"MIT","homepage":"https://wayneal.github.io/0G","keywords":["cli","x402","agent","seal","0g"],"repository":{"type":"git","url":"git+https://github.com/WayneAl/0G.git","directory":"packages/cli"},"description":"acu — your agent hires an auditor, verifies the seal, and signs its own. Quote with no key at all; verify any seal offline.","maintainers":[{"name":"waynekuo","email":"wayne.k@typuslab.com"}],"readme":"# @0x402/cli\n\n`acu` — your agent hires an auditor, verifies the seal, and signs its own.\n\n```bash\nnpx @0x402/cli underwrite 0xDB08Ce217Ce842b06baf76a0Bbb2C10f47fF9eB8\n```\n\nThat first command needs **no key, no install, no environment variable**. It reads the\ntoken's bytecode over RPC, asks the reference auditor for its x402 price, runs it past\nthe budget gate, and stops — a dry run is the default, and without a key it is the only\nthing that can happen. The last line always names the next step.\n\n## The whole thing, in five more commands\n\n```bash\nnpx @0x402/cli init      # a burner key into ~/.acu/config.json (0600, in a 0700 dir)\nnpx @0x402/cli status    # key, USDC balance, auditor, budget — and one next step\n\n# Fund the address it printed with Base Sepolia USDC, then buy one real seal:\nnpx @0x402/cli underwrite <token> --live --no-settle --publish\n\nnpx @0x402/cli verify <file|->   # exit 0 valid, 1 invalid, and it never touches the network\n```\n\n`underwrite` flags: `--ltv 7000 --live --no-settle --publish --endpoint <url>\n--registry <address> --source <path> --emit-seal <path> --seal-file <path>\n--offline <fixture>`.\n\n## Things that will save you a cent\n\n**A dry run is the default.** Real money needs `--live`.\n\n**Asking to settle with no registry configured refuses before it spends anything** —\nand says so. `--registry <address>` points it at your own deployment.\n\n**A run that fails after the seal is signed still hands you the seal.** It says where\nit saved it and gives you the `--seal-file … --publish` line that lists it later. The\nmoney bought that seal; losing it would be the actual failure.\n\n**`--no-settle` is not a shortcut past anything.** The reference registry's verifier\ntrusts exactly one signer, so only the reference agent can list on it. A seal you sign\nyourself is a fully valid seal and verifies green — it just does not go onto *that*\nregistry.\n\n## Then hand the job to your agent\n\n```bash\nclaude mcp add acu -- npx -y @0x402/mcp\n```\n\nNo environment variables: [`@0x402/mcp`](https://www.npmjs.com/package/@0x402/mcp) reads the\nsame `~/.acu/config.json` this CLI wrote.\n\n---\n\n[Repository](https://github.com/WayneAl/0G) · [Site](https://wayneal.github.io/0G) · MIT\n","readmeFilename":"README.md"}