# Palmyr [Health: Active]

**Category:** 💬 Communication  
**Repository:** https://github.com/0xArtex/Palmyr  
**GitHub Stars:** 5  
**Views:** 0  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/palmyr

## Description
Agent infra: email, phone, social, domains, VPS, wallets. Paid per-action via x402, no API key.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "palmyr": {
    "command": "npx",
    "args": ["-y","@palmyr/cli"]
  }
}
```

## Documentation & 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.

[![npm](https://img.shields.io/npm/v/@palmyr/cli?color=f54900)](https://www.npmjs.com/package/@palmyr/cli)
[![node](https://img.shields.io/badge/node-%3E%3D22-brightgreen)](https://nodejs.org)
[![typescript](https://img.shields.io/badge/typescript-5.7-blue)](https://www.typescriptlang.org)
[![license](https://img.shields.io/badge/license-MIT-green)](https://github.com/0xArtex/Palmyr/blob/main/LICENSE)
[![services](https://img.shields.io/badge/services-7+-f54900)](https://palmyr.ai/skill.md)
[![Solana](https://img.shields.io/badge/Solana-mainnet-9945FF)](https://solana.com)
[![Base](https://img.shields.io/badge/Base-mainnet-0052FF)](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

