Palmyr
Agent infra: email, phone, social, domains, VPS, wallets. Paid per-action via x402, no API key.
Open source Repository Open in the app JSON README (API)
About
Agent infra: email, phone, social, domains, VPS, wallets. Paid per-action via x402, no API key.
Details
- Kind
- MCP servers
- Topic
- Finance & crypto
- Publisher
- ai.palmyr
- Origin
- official
- Category
- ferramentas
- Transport
- http
- Version
- 1.0.0
- Stars
- 6
- Forks
- 1
- Open pull requests
- 1
- Last push
- 2026-08-24T19:14:02Z
- Repository state
- ativo
- Language
- TypeScript
- License
- MIT
- Added
- 2026-08-29 03:00:12
- Updated
- 2026-08-29 03:00:12
- Origin id
ai.palmyr/palmyr
README
<div align="center">
<picture>
<source media="(prefers-color-scheme: dark)" srcset="public/assets/logo-mark-on-dark.svg">
<img src="public/assets/logo-mark.svg" alt="Palmyr" width="160">
</picture>
# Palmyr
**Everything your AI agent needs — one CLI.**
Phone, email, compute, domains, wallets, X accounts, and more. Pay with USDC. Your wallet is your identity.
[](https://www.npmjs.com/package/@palmyr/cli)
[](https://nodejs.org)
[](https://www.typescriptlang.org)
[](https://github.com/0xArtex/Palmyr/blob/main/LICENSE)
[](https://palmyr.ai/skill.md)
[](https://solana.com)
[](https://base.org)
[Quick Start](#quick-start) • [Services](#services) • [Dashboard](https://palmyr.ai/dashboard.html) • [Skill File](https://palmyr.ai/skill.md) • [Docs](https://palmyr.ai/docs)
</div>
---
> Stop asking your human for a credit card.
<p align="center">
<img src="public/assets/demo.gif" alt="Palmyr CLI demo" width="640">
</p>
## Quick Start
### CLI
```bash
npm i -g @palmyr/cli
palmyr wallet create # local HD wallet, both Solana + Base, ready to pay
palmyr phone search --country US
palmyr email create --name my-agent --wallet SOL_PUBKEY
palmyr compute deploy --type cx23 --json # auto-key, auto-wait, verified ssh — JSON out
palmyr compute ssh my-vps # drop into the new box
palmyr domain buy --name myagent.dev
palmyr twitter buy # $5 USDC → ready X account from the pool
palmyr twitter post @handle --body "gm" # post immediately, no setup
```
Agents: 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`.
Or run without installing: `npx @palmyr/cli phone search --country US`
### Skill File
Add to your OpenClaw / Claude Code agent: [palmyr.ai/skill.md](https://palmyr.ai/skill.md)
### Dashboard
Visual node-based agent deployment: [palmyr.ai/dashboard.html](https://palmyr.ai/dashboard.html)
## Services
| Service | Status | Cost (USDC) |
|---------|--------|-------------|
| **Phone** | ✅ Live | $3/number, $0.05/SMS, $0.10/call |
| **Voice Calls** | ✅ Live | TTS, DTMF, record, transfer, gather |
| **Email** | ✅ Live | $2/inbox. E2E (NaCl box) when owned by a Solana key; otherwise AES-256-GCM encrypted at rest |
| **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. |
| **Domains** | ✅ Live | Dynamic pricing, DNS management included |
| **Wallet** | ✅ Live | Non-custodial smart wallets on Base + Solana |
| **Skills** | ✅ Live | 3500+ from ClawHub, one-click install |
| **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. |
| **i402 orchestrator** | ✅ Live | Tell Palmyr what you want, it plans + executes a sequence of x402 calls. See `spec/i402.md`. |
| **Crypto Card** | 🟡 Pending | Visa debit linked to agent wallet |
| **Address** | 🟡 Pending | Physical mailing address for the agent |
| **Reddit / LinkedIn** | 🟡 Pending | Same model as X — buy + operate from the CLI |
| **Storage** | 🟡 Pending | S3-compatible object storage |
## How It Works
```
Agent calls API → gets 402 → pays USDC (Solana or Base) → service provisioned
```
Your wallet is your identity. Pay with USDC, your wallet address owns the resource. No API keys. No signup.
## Three ways to use Palmyr
### 1. Call any endpoint → get 402 → pay with USDC → done
```bash
# Provision a phone number ($3 USDC)
curl -X POST https://palmyr.ai/phone/numbers \
-H "Content-Type: application/json" \
-d '{"country": "US"}'
# → 402 Payment Required (tells you exactly how to pay)
# Pay via x402 — your wallet address becomes the owner
curl -X POST https://palmyr.ai/phone/numbers \
-H "X-PAYMENT: <base64-encoded x402 payment payload>" \
-H "Content-Type: application/json" \
-d '{"country": "US"}'
# → phone number provisioned, owned by your wallet
```
Same wallet that provisions a resource is the only wallet that can access it. No API keys or tokens. Your agent wallet = your identity.
### 2. Or ask for an outcome with i402 — plan + execute client-side
```bash
# Tell Palmyr what you want, not how. It returns a plan of x402 calls;
# your wallet signs and executes each one itself.
palmyr chat run "Launch a sneaker resale brand for US teens" --budget 60 --execute
# What you get back:
# Plan: 5 steps $45.09 total
# s1 register_domain → palmyr.register_domain $9.99
# s2 deploy_vps → palmyr.deploy_vps $6.00
# s3 provision_email_inbox → palmyr.provision_email_inbox $1.00
# s4 social_account_provision → palmyr.x_account $15.00
# s5 social_post → palmyr.x_post $0.50
# orchestration fee (15%): $3.75
# Executing plan (client-side, one x402 tx per step)...
# → s1 register_domain via palmyr.register_domain ($9.99)
# ✓ s1 done in 18400ms
# → s2 deploy_vps via palmyr.deploy_vps ($6.00)
# ✓ s2 done in 62000ms
# ...
# done: completed spent=$45.09
```
Multi-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).
**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.
### 3. Or use the dashboard
[palmyr.ai/dashboard](https://palmyr.ai/dashboard) — visual node-based agent management.
## x402 Payment
All paid endpoints accept USDC via the x402 protocol:
1. Call any endpoint → get `402` with `PAYMENT-REQUIRED` header
2. Build a USDC transfer to the treasury
3. Send it in the `X-PAYMENT` header (canonical x402 v2; `Payment-Signature` is also accepted as a legacy alias)
4. Server verifies onchain → returns the response
**Networks:** Solana mainnet + Base (EVM)
**Treasury (SOL):** `B1YEboAH3ZDscqni7cyVnGkcDroB2kqLXCwLs3Ez8oX3`
**Treasury (EVM):** `0x7fA8aC4b42fd0C97ca983Bc73135EdbeA5bD6ab2`
## AgentWallet
Non-custodial smart wallets with onchain spending limits, secured by passkey (FaceID/fingerprint).
```bash
npx @agntos/agentwallet create # Deploy on Base + Solana
npx @agntos/agentwallet status 0xABC # Check balances & limits
npx @agntos/agentwallet send \
--wallet 0xW --to 0xR --amount 10 --key 0xK
```
- On-chain daily + per-tx + per-token limits
- Passkey (biometric) is the owner key — can't be phished
- Agent can't change its own limits
- Source: [github.com/0xArtex/agentwallet-aos](https://github.com/0xArtex/agentwallet-aos)
## Dashboard
Visual node-based dashboard at [palmyr.ai/dashboard.html](https://palmyr.ai/dashboard.html):
- **Agent node** → spawns Model, Channel, VPS nodes
- **AI Model** → configure Anthropic/OpenRouter/OpenAI, pushes to VPS
- **Channel** → Telegram/Discord with pairing code auth
- **VPS** → one-click deploy with OpenClaw pre-installed
- **Skills** → browse 3500+ from ClawHub, bulk install
- **Wallet** → non-custodial smart wallet with on-chain limits
All nodes push config independently to the VPS. Delete a node → removes config from VPS.
## Tech Stack
- **Runtime:** Node.js + TypeScript + Express
- **Payments:** x402 (USDC on Solana + Base)
- **Phone/Voice:** Telnyx (150+ countries)
- **Email:** Mailgun (send + inbound routing). E2E (NaCl box) when the inbox is keyed to a Solana wallet; otherwise AES-256-GCM encrypted at rest
- **Compute:** Hetzner Cloud + cloud-init hardening
- **Domains:** Namecheap API
- **Wallet:** Solidity (Base) + Anchor (Solana)
- **Database:** SQLite (better-sqlite3)
## Self-Host
```bash
git clone https://github.com/0xArtex/Palmyr
cd Palmyr
cp .env.example .env # configure keys
npm install
npm run build
npm start
```
Required env vars: `TELNYX_API_KEY`, `HCLOUD_TOKEN`, `NAMECHEAP_API_KEY`, `NAMECHEAP_API_USER`
## License
MIT