← Marketplace
Base
Palmyr
Palmyr is an x402-native service at https://palmyr.ai, indexed from the x402 Bazaar (Coinbase's public discovery directory). It charges callers itself in USDC on Base and is paid directly at its own wallet; Monex Protocol passes your request and payment headers through untouched. 12 endpoints listed.
Offers
| Offer | Endpoint | Price |
|---|---|---|
Cards List your prepaid cards (status, last4, balance — never full card numbers; those are per-card via GET /cards/:id). | /m/bz-palmyr-ai/cards | 0.01 USDC |
Cards :Id Retrieve a prepaid card you own: full card number, CVV, expiry, balance. Owner-verified ($0.01 ownership proof). | /m/bz-palmyr-ai/cards/:id | 0.01 USDC |
:Id Refresh Refresh a card's live balance and transactions from the issuer (rate-limited upstream: 1 per 5 min per card). | /m/bz-palmyr-ai/cards/:id/refresh | 0.01 USDC |
Email Inboxes Create an end-to-end encrypted email inbox keyed to your Solana wallet. Defaults to {name}@palmyr.ai; pass `domain` to provision on a Namecheap-registered domain you own (auto-sets MX/SPF/DKIM records). | /m/bz-palmyr-ai/email/inboxes | 2 USDC |
Email Temp Provision a cheap, disposable, receive-only email inbox for receiving a one-time verification or order-confirmation email. Auto-expires (default 24h). Reads return plaintext after an x402 ownership proof from the owning wallet. | /m/bz-palmyr-ai/email/temp | 0.5 USDC |
Phone Numbers List all phone numbers owned by or shared with the calling wallet. | /m/bz-palmyr-ai/phone/numbers | 0.01 USDC |
:Id Wait Otp Wait (blocking, up to 90s) for an SMS verification code / OTP to arrive on a phone number you own, and return the parsed code. Body (all optional): { timeout_s (default 60, max 90), lookback_s (default 10; pass 0 for reused numbers), pattern (custom regex, max 256 chars) } | /m/bz-palmyr-ai/phone/numbers/:id/wait-otp | 0.02 USDC |
Phone Temp 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, clamp 300–1800). Receive-only; call wait-otp to catch the code. Good for one-time verification on sites like Google/X/Discord; some (Telegram/WhatsApp/OpenAI) block VoIP numbers. Recycled — one-time codes only. | /m/bz-palmyr-ai/phone/temp | 0.2 USDC |
Pool Mine List pool-bought X accounts your wallet owns or has shared access to. | /m/bz-palmyr-ai/social/twitter/pool/mine | 0.001 USDC |
Twitter Profile Update the profile (name/bio/location/url) of an X account you control. | /m/bz-palmyr-ai/social/twitter/profile | 0.001 USDC |
Registered Mine List registered X accounts your wallet owns or has shared access to. | /m/bz-palmyr-ai/social/twitter/registered/mine | 0.001 USDC |
Accounts Mine List X accounts your wallet owns or has shared access to (returns full credentials). | /m/bz-palmyr-ai/x/accounts/mine | 0.01 USDC |
Machine-readable: openapi.json with x-payment-info offers.
Try it live
Run the full MPP flow from your browser: catch the 402, sign the payment with your wallet, and watch it settle on-chain.
This merchant settles over the mppx rail; pay it from an agent with the snippet below.
Pay with an agent
Any MPP or x402-compatible client works. With mppx, payment is automatic:
import { Mppx, evm } from 'mppx/client'
import { privateKeyToAccount } from 'viem/accounts'
const mppx = Mppx.create({
methods: [evm({
account: privateKeyToAccount(process.env.KEY),
currencies: [evm.assets.base.USDC],
})],
})
const res = await mppx.fetch('https://api.meshgateway.co/m/bz-palmyr-ai/cards')
// 402 challenge signed and settled automatically; response includes Payment-ReceiptOr inspect the challenge yourself:
curl -i https://api.meshgateway.co/m/bz-palmyr-ai/cards # HTTP/1.1 402 Payment Required # WWW-Authenticate: Payment id="…", method="evm", intent="charge", …