{
  "markdown": "<div align=\"center\">\n\n<picture>\n  <source media=\"(prefers-color-scheme: dark)\" srcset=\"public/assets/logo-mark-on-dark.svg\">\n  <img src=\"public/assets/logo-mark.svg\" alt=\"Palmyr\" width=\"160\">\n</picture>\n\n# Palmyr\n\n**Everything your AI agent needs — one CLI.**\n\nPhone, email, compute, domains, wallets, X accounts, and more. Pay with USDC. Your wallet is your identity.\n\n[![npm](https://img.shields.io/npm/v/@palmyr/cli?color=f54900)](https://www.npmjs.com/package/@palmyr/cli)\n[![node](https://img.shields.io/badge/node-%3E%3D22-brightgreen)](https://nodejs.org)\n[![typescript](https://img.shields.io/badge/typescript-5.7-blue)](https://www.typescriptlang.org)\n[![license](https://img.shields.io/badge/license-MIT-green)](https://github.com/0xArtex/Palmyr/blob/main/LICENSE)\n[![services](https://img.shields.io/badge/services-7+-f54900)](https://palmyr.ai/skill.md)\n[![Solana](https://img.shields.io/badge/Solana-mainnet-9945FF)](https://solana.com)\n[![Base](https://img.shields.io/badge/Base-mainnet-0052FF)](https://base.org)\n\n[Quick Start](#quick-start) • [Services](#services) • [Dashboard](https://palmyr.ai/dashboard.html) • [Skill File](https://palmyr.ai/skill.md) • [Docs](https://palmyr.ai/docs)\n\n</div>\n\n---\n\n> Stop asking your human for a credit card.\n\n<p align=\"center\">\n  <img src=\"public/assets/demo.gif\" alt=\"Palmyr CLI demo\" width=\"640\">\n</p>\n\n## Quick Start\n\n### CLI\n```bash\nnpm i -g @palmyr/cli\npalmyr wallet create                      # local HD wallet, both Solana + Base, ready to pay\n\npalmyr phone search --country US\npalmyr email create --name my-agent --wallet SOL_PUBKEY\npalmyr compute deploy --type cx23 --json  # auto-key, auto-wait, verified ssh — JSON out\npalmyr compute ssh my-vps                 # drop into the new box\npalmyr domain buy --name myagent.dev\npalmyr twitter buy                        # $5 USDC → ready X account from the pool\npalmyr twitter post @handle --body \"gm\"   # post immediately, no setup\n```\n\nAgents: pipe stdout into `jq`, branch on `$?` against the [exit code table](cli/README.md#exit-codes). Force JSON on a TTY with `--json` or `PALMYR_JSON=1`.\n\nOr run without installing: `npx @palmyr/cli phone search --country US`\n\n### Skill File\nAdd to your OpenClaw / Claude Code agent: [palmyr.ai/skill.md](https://palmyr.ai/skill.md)\n\n### Dashboard\nVisual node-based agent deployment: [palmyr.ai/dashboard.html](https://palmyr.ai/dashboard.html)\n\n## Services\n\n| Service | Status | Cost (USDC) |\n|---------|--------|-------------|\n| **Phone** | ✅ Live | $3/number, $0.05/SMS, $0.10/call |\n| **Voice Calls** | ✅ Live | TTS, DTMF, record, transfer, gather |\n| **Email** | ✅ Live | $2/inbox. E2E (NaCl box) when owned by a Solana key; otherwise AES-256-GCM encrypted at rest |\n| **Compute** | ✅ Live | $5–64/mo VPS + $6 one-time deploy fee. SSH hardened, choice of agent install recipe (`--install hermes`, `--install openclaw`, ...), location selection across 6 Hetzner datacenters. |\n| **Domains** | ✅ Live | Dynamic pricing, DNS management included |\n| **Wallet** | ✅ Live | Non-custodial smart wallets on Base + Solana |\n| **Skills** | ✅ Live | 3500+ from ClawHub, one-click install |\n| **Social Media Accounts** | ✅ Live (X + TikTok) | **X**: buy ready accounts ($5), post / reply / like / follow / update bio, name, pfp, banner, username. **TikTok**: connect your own via a one-shot real-browser / QR login, then post / schedule / follow / like / delete / update bio, name, avatar. Sticky residential IP per account. |\n| **i402 orchestrator** | ✅ Live | Tell Palmyr what you want, it plans + executes a sequence of x402 calls. See `spec/i402.md`. |\n| **Crypto Card** | 🟡 Pending | Visa debit linked to agent wallet |\n| **Address** | 🟡 Pending | Physical mailing address for the agent |\n| **Reddit / LinkedIn** | 🟡 Pending | Same model as X — buy + operate from the CLI |\n| **Storage** | 🟡 Pending | S3-compatible object storage |\n\n## How It Works\n\n```\nAgent calls API → gets 402 → pays USDC (Solana or Base) → service provisioned\n```\n\nYour wallet is your identity. Pay with USDC, your wallet address owns the resource. No API keys. No signup.\n\n## Three ways to use Palmyr\n\n### 1. Call any endpoint → get 402 → pay with USDC → done\n```bash\n# Provision a phone number ($3 USDC)\ncurl -X POST https://palmyr.ai/phone/numbers \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"country\": \"US\"}'\n# → 402 Payment Required (tells you exactly how to pay)\n\n# Pay via x402 — your wallet address becomes the owner\ncurl -X POST https://palmyr.ai/phone/numbers \\\n  -H \"X-PAYMENT: <base64-encoded x402 payment payload>\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"country\": \"US\"}'\n# → phone number provisioned, owned by your wallet\n```\n\nSame wallet that provisions a resource is the only wallet that can access it. No API keys or tokens. Your agent wallet = your identity.\n\n### 2. Or ask for an outcome with i402 — plan + execute client-side\n\n```bash\n# Tell Palmyr what you want, not how. It returns a plan of x402 calls;\n# your wallet signs and executes each one itself.\npalmyr chat run \"Launch a sneaker resale brand for US teens\" --budget 60 --execute\n\n# What you get back:\n#   Plan: 5 steps  $45.09 total\n#     s1 register_domain → palmyr.register_domain  $9.99\n#     s2 deploy_vps → palmyr.deploy_vps    $6.00\n#     s3 provision_email_inbox → palmyr.provision_email_inbox  $1.00\n#     s4 social_account_provision → palmyr.x_account  $15.00\n#     s5 social_post → palmyr.x_post       $0.50\n#     orchestration fee (15%):  $3.75\n#   Executing plan (client-side, one x402 tx per step)...\n#   → s1 register_domain via palmyr.register_domain ($9.99)\n#   ✓ s1 done in 18400ms\n#   → s2 deploy_vps via palmyr.deploy_vps ($6.00)\n#   ✓ s2 done in 62000ms\n#   ...\n#   done: completed  spent=$45.09\n```\n\nMulti-turn follow-ups are **wallet-keyed**: the server extracts your wallet from the x402 signature, finds your last active session, and (if the Haiku classifier decides the new intent continues it) extends that session — *\"now post 3 TikTok videos about launch week\"* references the brand you just launched without re-provisioning. Full spec at [`spec/i402.md`](./spec/i402.md).\n\n**Architecture note:** i402 v0.1 is agent-side-execution-only. The server returns a plan of x402 endpoints; your wallet signs every step's payment directly. No custodial escrow, no server-held USDC.\n\n### 3. Or use the dashboard\n[palmyr.ai/dashboard](https://palmyr.ai/dashboard) — visual node-based agent management.\n\n## x402 Payment\n\nAll paid endpoints accept USDC via the x402 protocol:\n\n1. Call any endpoint → get `402` with `PAYMENT-REQUIRED` header\n2. Build a USDC transfer to the treasury\n3. Send it in the `X-PAYMENT` header (canonical x402 v2; `Payment-Signature` is also accepted as a legacy alias)\n4. Server verifies onchain → returns the response\n\n**Networks:** Solana mainnet + Base (EVM)\n**Treasury (SOL):** `B1YEboAH3ZDscqni7cyVnGkcDroB2kqLXCwLs3Ez8oX3`\n**Treasury (EVM):** `0x7fA8aC4b42fd0C97ca983Bc73135EdbeA5bD6ab2`\n\n## AgentWallet\n\nNon-custodial smart wallets with onchain spending limits, secured by passkey (FaceID/fingerprint).\n\n```bash\nnpx @agntos/agentwallet create        # Deploy on Base + Solana\nnpx @agntos/agentwallet status 0xABC  # Check balances & limits\nnpx @agntos/agentwallet send \\\n  --wallet 0xW --to 0xR --amount 10 --key 0xK\n```\n\n- On-chain daily + per-tx + per-token limits\n- Passkey (biometric) is the owner key — can't be phished\n- Agent can't change its own limits\n- Source: [github.com/0xArtex/agentwallet-aos](https://github.com/0xArtex/agentwallet-aos)\n\n## Dashboard\n\nVisual node-based dashboard at [palmyr.ai/dashboard.html](https://palmyr.ai/dashboard.html):\n\n- **Agent node** → spawns Model, Channel, VPS nodes\n- **AI Model** → configure Anthropic/OpenRouter/OpenAI, pushes to VPS\n- **Channel** → Telegram/Discord with pairing code auth\n- **VPS** → one-click deploy with OpenClaw pre-installed\n- **Skills** → browse 3500+ from ClawHub, bulk install\n- **Wallet** → non-custodial smart wallet with on-chain limits\n\nAll nodes push config independently to the VPS. Delete a node → removes config from VPS.\n\n## Tech Stack\n\n- **Runtime:** Node.js + TypeScript + Express\n- **Payments:** x402 (USDC on Solana + Base)\n- **Phone/Voice:** Telnyx (150+ countries)\n- **Email:** Mailgun (send + inbound routing). E2E (NaCl box) when the inbox is keyed to a Solana wallet; otherwise AES-256-GCM encrypted at rest\n- **Compute:** Hetzner Cloud + cloud-init hardening\n- **Domains:** Namecheap API\n- **Wallet:** Solidity (Base) + Anchor (Solana)\n- **Database:** SQLite (better-sqlite3)\n\n## Self-Host\n\n```bash\ngit clone https://github.com/0xArtex/Palmyr\ncd Palmyr\ncp .env.example .env  # configure keys\nnpm install\nnpm run build\nnpm start\n```\n\nRequired env vars: `TELNYX_API_KEY`, `HCLOUD_TOKEN`, `NAMECHEAP_API_KEY`, `NAMECHEAP_API_USER`\n\n## License\n\nMIT\n",
  "bytes": 8808,
  "sha": "0ef57231dd4236d00aee70b3b91ecb753c34b275302233f967bf8be272f1aef5",
  "repo_slug": "0xartex/palmyr",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_ai_palmyr_palmyr_ca13921c/readme"
}