{"_id":"@byreal-io/evm-cli","name":"@byreal-io/evm-cli","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.1":{"name":"@byreal-io/evm-cli","version":"0.1.1","type":"module","description":"Minimal EVM wallet transfer CLI (native + ERC-20), Privy proxy signing.","main":"dist/index.cjs","bin":{"evm-cli":"dist/index.cjs"},"engines":{"node":">=18.19.0"},"publishConfig":{"access":"public"},"scripts":{"cli":"tsx src/index.ts","dev":"tsx src/index.ts","build":"node scripts/build.mjs","prepublishOnly":"npm run build","release:stable":"npm version patch && npm publish && git push --follow-tags","release:beta":"npm version prerelease --preid=beta && npm publish --tag beta && git push --follow-tags","test":"vitest run","test:watch":"vitest","typecheck":"tsc --noEmit"},"dependencies":{"chalk":"^5.3.0","commander":"^12.1.0","dotenv":"^16.4.7","viem":"^2.21.54"},"devDependencies":{"@types/node":"^22.10.2","esbuild":"^0.24.0","tsx":"^4.19.2","typescript":"^5.7.2","vitest":"^2.1.8"},"_id":"@byreal-io/evm-cli@0.1.1","gitHead":"2437860ab4a1c81d64611a9ade2640e93e13dc22","_nodeVersion":"24.3.0","_npmVersion":"11.4.2","dist":{"integrity":"sha512-wS1nXJ1bWI560eqTKPzZLZyJQhb9kP9V3hmn/XR5Y3OYc1avmAdo1DVQuQYtsron2KtEZZEkXX8x4Y8gL46roQ==","shasum":"646bbd9cd637c5d5cde98d2af8cb2b413de2f30b","tarball":"https://registry.npmjs.org/@byreal-io/evm-cli/-/evm-cli-0.1.1.tgz","fileCount":4,"unpackedSize":755712,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDPxzh1FzFrbZxAmiKDnbHy2Bn8LI0TenPuizY8g57DCQIhAOAw2VdJ0W6ZkrCMZg1q17aEiLWb0v5CGFSWYApYaR1x"}]},"_npmUser":{"name":"wangyulue","email":"wangyulue@gmail.com"},"directories":{},"maintainers":[{"name":"joe1.hw","email":"joe.he1@bybit.com"},{"name":"wangyulue","email":"wangyulue@gmail.com"},{"name":"byreal-admin","email":"app@byreal.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/evm-cli_0.1.1_1780032567466_0.6427107228129696"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-29T05:29:27.277Z","0.1.1":"2026-05-29T05:29:27.670Z","modified":"2026-05-29T05:29:27.948Z"},"maintainers":[{"name":"joe1.hw","email":"joe.he1@bybit.com"},{"name":"wangyulue","email":"wangyulue@gmail.com"},{"name":"byreal-admin","email":"app@byreal.io"}],"description":"Minimal EVM wallet transfer CLI (native + ERC-20), Privy proxy signing.","readme":"# evm-cli\n\nA minimal EVM wallet transfer CLI: supports **native coin (ETH, etc.)** and **ERC-20** transfers, signing via the **Privy proxy** (for managed wallets whose private key cannot be exported).\n\nCurrent supported chains: `ethereum` · `mantle`.\n\n---\n\n## 1. Install\n\n**Users (published to npm):**\n\n```bash\nnpm install -g @byreal-io/evm-cli\nevm-cli --version\nevm-cli skill            # full docs (commands/config/safety), versioned with the CLI\n```\n\n**Local development:**\n\n```bash\nnpm install\ncp .env.example .env     # local dev only; in claw, credentials come from ~/.openclaw/*\nnpm run cli -- <command> [options]   # = tsx src/index.ts ...\nnpm run build            # esbuild-bundle to dist/index.cjs (for publishing)\n```\n\n> Examples below use the global `evm-cli`; in dev, replace it with `npm run cli --`.\n\n---\n\n## 2. Commands\n\n### `send` — send a transfer\n\nRequires `--dry-run` (preview) or `--confirm` (execute); neither → refuse, both → error. `--from` is optional — it defaults to the single evm wallet in `realclaw-config.json`; pass it explicitly only when multiple evm wallets are configured (or when credentials come from a bare `AGENT_TOKEN`, which can't reveal its address).\n\n```bash\n# Preview (no broadcast, no credentials needed); --from omitted → uses the configured wallet\nevm-cli send --chain ethereum --to 0xRECV --amount 0.05 --dry-run\nevm-cli send --chain ethereum --to 0xRECV --amount 100 --token USDC --dry-run\n\n# Execute (sign + broadcast via proxy, irreversible)\nevm-cli send --chain mantle --to 0xRECV --amount 0.05 --confirm\nevm-cli send --chain mantle --to 0xRECV --amount 100 --token 0xTokenAddr --confirm\n\n# Multiple wallets configured → disambiguate with --from\nevm-cli send --chain mantle --to 0xRECV --amount 0.05 --from 0xWALLET --confirm\n```\n\nThe preview prints the full `to / value / data / chainId` and a token detail block (contract address + on-chain `symbol`/`decimals`); a symbol that disagrees with the on-chain symbol triggers a prominent warning — verify the contract before executing.\n\n### `balance` — query balance (read-only)\n\n`--address` is optional — it defaults to the single evm wallet in `realclaw-config.json`; pass it to query any other address.\n\n```bash\nevm-cli balance --chain ethereum                          # the configured wallet\nevm-cli balance --chain ethereum --token USDC             # + an ERC-20 balance\nevm-cli balance --chain ethereum --address 0xOTHER        # any other address\n```\n\n### `skill` — print the full documentation\n\n```bash\nevm-cli skill\n```\n\n## 3. Privy proxy prerequisites\n\nThe CLI **does not implement** Privy login/issuance — it only consumes a pre-issued **agent token**. The team issues it via `agent-wallet-privy-proxy-server`: `POST /signer-grants/create` (signer grant), then `POST /agent-tokens/create-one` (token, shown once).\n\nIn claw the token + base URL are written to `~/.openclaw/*` (§2) and read automatically; for local dev set `PRIVY_PROXY_URL` + `AGENT_TOKEN` in `.env`. `--from` defaults to the configured evm wallet (pass it only to disambiguate multiple wallets). The CLI submits the fully-built tx with `broadcast:true` to `POST {proxyUrl}{apiBasePath}/sign/evm-transaction`; the proxy signs, broadcasts, and returns the hash.\n","readmeFilename":"README.md","_rev":"1-c95073fb984b9f6ce9284f431783b822"}