palmyr_pricing
Palmyr pricing
List every paid Palmyr capability and its live x402 price (USDC on Solana/Base). Free — no payment required.
Takes no parameters.

ai.palmyrPublished by palmyr.aiOfficial publisherv1.0.0Updated Oct 24, 2026
Agent infra: email, phone, social, domains, VPS, wallets. Paid per-action via x402, no API key.
Palmyr is a paid agent-infrastructure service that lets an assistant buy phone numbers, email inboxes, domains, VPS servers, prepaid cards and social posts…
Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.
Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.
Read https://sourceweft.com/mcp/ai.palmyr%2Fpalmyr/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.Add this to your client's mcpServers config.
{
"mcpServers": {
"palmyr": {
"type": "http",
"url": "https://palmyr.ai/mcp"
}
}
}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] [node] [typescript] [license] [services] [Solana] [Base]
Quick Start • Services • Dashboard • Skill File • Docs
Stop asking your human for a credit card.
Agents: pipe stdout into jq, branch on $? against the exit code table. Force JSON on a TTY with --json or PALMYR_JSON=1.
Or run without installing: npx @palmyr/cli phone search --country US
Add to your OpenClaw / Claude Code agent: palmyr.ai/skill.md
Visual node-based agent deployment: palmyr.ai/dashboard.html
Your wallet is your identity. Pay with USDC, your wallet address owns the resource. No API keys. No signup.
Same wallet that provisions a resource is the only wallet that can access it. No API keys or tokens. Your agent wallet = your identity.
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.
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.
palmyr.ai/dashboard — visual node-based agent management.
All paid endpoints accept USDC via the x402 protocol:
402 with PAYMENT-REQUIRED headerX-PAYMENT header (canonical x402 v2; Payment-Signature is also accepted as a legacy alias)Networks: Solana mainnet + Base (EVM)
Treasury (SOL): B1YEboAH3ZDscqni7cyVnGkcDroB2kqLXCwLs3Ez8oX3
Treasury (EVM): 0x7fA8aC4b42fd0C97ca983Bc73135EdbeA5bD6ab2
Non-custodial smart wallets with onchain spending limits, secured by passkey (FaceID/fingerprint).
Visual node-based dashboard at palmyr.ai/dashboard.html:
All nodes push config independently to the VPS. Delete a node → removes config from VPS.
Required env vars: TELNYX_API_KEY, HCLOUD_TOKEN, NAMECHEAP_API_KEY, NAMECHEAP_API_USER
MIT
Source: README.md at commit c2020a7
Palmyr pricing
List every paid Palmyr capability and its live x402 price (USDC on Solana/Base). Free — no payment required.
Takes no parameters.
Palmyr capabilities
List the i402 capabilities Palmyr can plan and execute (the intent-resolver catalog). Free — no payment required.
Takes no parameters.
i402 plan (intent resolver)
State an intent, get a priced execution plan. The i402 orchestrator turns a natural-language outcome into an ordered list of x402 calls your agent signs and runs. Costs 0.10 USDC per plan, paid per-action via x402.
intentrequiredparamspaymentqualitybudget_usdcrequiredconstraintsdeadline_secondsallow_budget_exceededBuy prepaid Visa card
Buy a USA prepaid Visa card loaded with EXACTLY the requested balance ($5–$1000). Dynamic x402 price = amount + fee (3% min 0.50 USDC) — the 402 instructions carry the exact total. Returns 202 with an operation_id: poll card_status until ready (~10s), then fetch the number with card_get. US merchants only; non-reloadable (spend across transactions until depleted); max 6 cards per agent per rolling 24h (issuer limit).
amountrequiredpaymentCheck card purchase status
Poll a card purchase started by card_buy (free). done=true when status is 'ready' (fetch details with card_get) or 'failed' (payment auto-refunded — see refund_status).
card_idrequiredGet card number/CVV
Retrieve a prepaid card you own: full card number, CVV, expiry, live balance. Owner-verified (0.01 USDC ownership proof; the paying wallet must be the card's buyer).
card_idrequiredpaymentList your prepaid cards
List cards owned by the paying wallet: status, last4, balance (never full numbers — those are per-card via card_get). 0.01 USDC ownership proof.
paymentCreate email inbox
Provision an email inbox at {name}@palmyr.ai (or a custom domain you own), keyed to your wallet. Costs 2.00 USDC, paid per-action via x402.
namerequireddomainpaymentwalletAddresssolanaPublicKeyCreate disposable temp inbox
Provision a cheap, disposable, receive-only email inbox — ideal for receiving a one-off verification or order-confirmation email during a checkout/signup flow. The address (a natural-looking handle on a dedicated inbox domain) is returned in the response. Auto-expires (default 24h). Reads return plaintext to the owning wallet (no E2E key to manage). Costs 0.50 USDC, paid per-action via x402.
paymentttl_secondsExtend disposable temp inbox
Rent another 7 days on a live disposable temp inbox — each call pushes expires_at exactly 7 days further (fixed, stackable, no cap). Owner-only; expired temp inboxes cannot be revived (buy a new one via email_create_temp). Costs 0.50 USDC, paid per-action via x402.
paymentinbox_idrequiredSend email
Send an email from an inbox you own. Costs 0.08 USDC, paid per-action via x402.
torequiredbodyrequiredhtmlpaymentsubjectrequiredinbox_idrequiredRead email messages
Read decrypted messages from an inbox you own (payment wallet must match the inbox). Costs 0.02 USDC, paid per-action via x402.
limitcursorpaymentinbox_idrequiredBuy phone number
Provision a real phone number (SMS + voice) for your agent. Costs 3.00 USDC, paid per-action via x402.
countryrequiredpaymentareaCodeSend SMS
Send an SMS from a phone number you own. Costs 0.05 USDC, paid per-action via x402.
torequiredbodyrequiredpaymentnumber_idrequiredRead SMS messages
Read SMS messages received on a phone number you own. Costs 0.02 USDC, paid per-action via x402.
paymentnumber_idrequiredWait for SMS verification code (OTP)
Wait for an SMS verification code / OTP to arrive on a Palmyr phone number you own, and return the parsed code. Blocks up to timeout_s (default 60, max 90) checking every ~2s — one call replaces hand-rolled polling of phone_read_messages during account signups and 2FA flows. Messages that arrived up to lookback_s seconds (default 10) BEFORE the call also match, so a code that landed early is not missed — pass lookback_s=0 when reusing a number across signups so a stale code can't be re-served. Default extraction handles standalone 4-8 digit codes, 'code is/code:' tokens, and Google-style G-XXXXXX; pass pattern to override (max 256 chars; a pattern that blows its per-match budget is dropped mid-wait and pattern_timeout: true is reported). Returns { found: true, code, message_text } on a hit or { found: false, waited_s } on timeout (not an error — just call again). Costs 0.02 USDC, paid per-action via x402.
patternpaymentnumber_idrequiredtimeout_slookback_sLease disposable temp phone number
Lease a cheap, instant, receive-only US phone number from a pool to receive one SMS verification code — the phone analogue of a disposable temp email inbox. $0.20 for 30 min (ttl_seconds, clamped 300–1800), returned to the pool at expiry; call wait_for_otp to catch the code. Good for one-time SMS verification and phone-gated signups. Works with major sites like Google, X, and Discord; some (Telegram, WhatsApp, OpenAI) may reject it as a VoIP number — for strict sites, buy a dedicated number with phone_buy_number. Pool numbers are recycled after the lease, so use them for one-time codes only, not long-term 2FA. Costs 0.20 USDC, paid per-action via x402.
paymentttl_secondsExtend disposable temp phone number
Rent another 30 minutes on a live disposable temp number — each call pushes expires_at 30 min further (stackable up to 24h total lease). Owner-only; expired temp leases cannot be revived (lease a fresh one via phone_temp_number). Costs 0.20 USDC, paid per-action via x402.
paymentnumber_idrequiredPost to X (Twitter)
Post a tweet from an X account you control (via injected session cookies). Costs 0.001 USDC, paid per-action via x402.
textrequiredcookiesrequiredpaymentaccount_idrequiredcommunity_idproxy_session_idPost to TikTok
Post a video to a TikTok account you control (from video_base64 or video_url), immediately or scheduled. Async: returns an operation to poll with tiktok_operation_status. Costs 0.01 USDC, paid per-action via x402.
captionrequiredcookiescountrypaymentprivacyvideo_urlaccount_idrequiredschedule_atvideo_base64proxy_session_idCheck TikTok operation status
Poll an async TikTok operation started by tiktok_post / tiktok_analytics / tiktok_cancel_scheduled (free). done=true when status is 'posted' / 'done' (carries video_url or the op's result) or 'failed' (payment auto-refunded — see refund_status).
operation_idrequiredConnect a TikTok account (server-side login)
Attach a TikTok account by logging in ON THE SERVER, into that account's own persistent browser profile: returns a connect_url to hand a human, who scans the QR in the TikTok app. The recommended path — the browser that authenticates is the browser that later acts, and every other TikTok tool then works with `cookies` omitted (no jar to move). The paying wallet becomes the account's owner. Async: poll tiktok_connect_status with the returned token. Costs 0.01 USDC, paid per-action via x402.
tagcountrypaymentaccount_idrequiredproxy_session_idCheck TikTok connect status
Poll a server-side login started by tiktok_connect (free). done=true when state is 'completed' (the account is live and usable with cookies omitted) or 'failed'.
tokenrequiredList your TikTok accounts
List the TikTok accounts the paying wallet owns, with session health (status, profile_present, hours_since_success, last_error_code) — i.e. which of your accounts are still logged in. Costs 0.001 USDC, paid per-action via x402.
tagpaymentFetch TikTok analytics
Scrape per-post analytics (views, likes, comments, shares) for a TikTok account you control, and record a sample so tiktok_series can answer 'is it still growing'. Async: returns an operation to poll with tiktok_operation_status. Costs 0.005 USDC, paid per-action via x402.
cookiescountrypaymentaccount_idrequiredproxy_session_idRead TikTok engagement history
Read the stored per-post history for an account you own: the full time series for one video (video_id), per-video growth over a window (hours), or the latest sample per video (neither). Samples come from tiktok_analytics runs, so history exists only for what you have scraped. Costs 0.001 USDC, paid per-action via x402.
hourspaymentvideo_idaccount_idrequiredTikTok hook analysis
Which caption openings actually earn views. Pass account_id or tag to measure YOUR accounts against their own median (0.001 USDC). Pass niche to report what is working in that niche across TikTok, needing no posting history — the answer for a brand-new account (0.05 USDC; tiktok_niches lists them, free). The two are never blended. Pass caption to classify a draft before posting. Paid per-action via x402 — the 402 challenge carries the exact price for the arguments you sent.
tagnichecaptionpaymentaccount_idrecency_daysmaturity_daysList TikTok niches
List the niches tiktok_hooks can report on, with how fresh each corpus is. Free — an agent should not pay to learn what it may ask for.
Takes no parameters.
List scheduled TikTok posts
List the posts you have queued with tiktok_post(schedule_at), and whether each is still pending, due, or confirmed published. Palmyr's own record — TikTok exposes no way to read pending posts back, so edits made directly in TikTok Studio are invisible to it. Costs 0.001 USDC, paid per-action via x402.
paymentaccount_idinclude_doneCancel a scheduled TikTok post
Cancel a post queued with tiktok_post(schedule_at). TikTok has no 'unschedule', so this deletes the held video — the cancellation is recorded only once that succeeded. Async: returns an operation to poll with tiktok_operation_status. Costs 0.001 USDC, paid per-action via x402.
cookiescountrypaymentaccount_idrequiredoperation_idrequiredproxy_session_idCheck domain availability
Check domain availability and per-TLD pricing. Pass a full domain (example.com) or a bare name to scan popular TLDs. Free — no payment required.
domainrequiredRegister domain
Register a domain to your wallet. Priced per TLD — the exact quote is returned in the 402 challenge, paid per-action via x402.
domainrequiredpaymentDeploy VPS
Deploy a cloud VPS keyed to your wallet (optionally auto-installs OpenClaw/skills). Priced per server type — the exact quote is returned in the 402 challenge, paid per-action via x402.
namerequiredimageinstallpaymentlocationserverTyperequiredsshPublicKey100% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
npm i -g @palmyr/clipalmyr wallet create # local HD wallet, both Solana + Base, ready to pay
palmyr phone search --country USpalmyr email create --name my-agent --wallet SOL_PUBKEYpalmyr compute deploy --type cx23 --json # auto-key, auto-wait, verified ssh — JSON outpalmyr compute ssh my-vps # drop into the new boxpalmyr domain buy --name myagent.devpalmyr twitter buy # $5 USDC → ready X account from the poolpalmyr twitter post @handle --body "gm" # post immediately, no setupAgent calls API → gets 402 → pays USDC (Solana or Base) → service provisioned# 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 ownercurl -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# 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.09npx @agntos/agentwallet create # Deploy on Base + Solananpx @agntos/agentwallet status 0xABC # Check balances & limitsnpx @agntos/agentwallet send \ --wallet 0xW --to 0xR --amount 10 --key 0xKgit clone https://github.com/0xArtex/Palmyrcd Palmyrcp .env.example .env # configure keysnpm installnpm run buildnpm start