# Perly Pay > Accept bitcoin, USDC and USDT straight into your own wallet: payment links, a checkout, invoices or the API. 2.5¢ a payment, nothing taken from it. Perly Pay is a hosted, non-custodial payment service. Merchants accept bitcoin (on-chain), USDC on Base, Arbitrum, Optimism and Ethereum, USDT on Ethereum and TRON, and USDT0 (Tether's omnichain USDT) on Arbitrum and Optimism. There is no USDT on Base. They connect public keys only (Ledger, Trezor, a file, or pasted); every invoice gets an address derived from them, so money lands straight in the merchant's wallet. Perly Pay never holds funds and never asks for a seed or private key. Facts: - Pay as you go, the only plan: each paid live payment costs 2.5¢, but never more than 0.5% of itself (a payment under $5 costs less). A month of up to 21 payments costs $0; past 21, every payment of the month is billed. Nothing is taken from the payment; the buyer pays the merchant's wallet in full. - The month's payments are billed on the 1st, in the merchant's time zone, with 14 days to pay, through Perly Pay itself in bitcoin or stablecoins. A bill still unpaid after those days pauses new live payments until it is paid (payments already started still arrive; renewals of subscriptions already sold carry on); paying lifts the pause at once. Until a new account has paid its first bill, a bill comes as soon as its month reaches $25. A new merchant's first 14 days are free. There is no limit on sales. Test mode is free and unlimited. - Subscriptions renew by invoice and email reminders; there is no automatic debit from a wallet. - Refunds are sent by the merchant from their own wallet to an address the buyer gives; the network fee comes out of the refund by default; Perly takes nothing. - Receipts by email, a public page and PDF. - Only money that arrives after an invoice opens can pay it. - Live since 15 October 2026: Perly App, Perly's own tracker, sells its club seats and yearly plan through Perly Pay. ## Who it is for, and how it differs - Anyone selling online who wants bitcoin or dollar stablecoins to land in their own wallet: a payment link with no code, a hosted checkout, invoices or the API. WooCommerce, WHMCS and Make are built and come on request; each docs page says how. - Developers who build with an AI assistant: an MCP server, a Claude Code plugin, `npx perly-pay init`, and recipes for credits, subscriptions, license keys, paid bots and paid MCP tools. - Hosted: there is no server to run, which is the difference from a self-hosted gateway such as BTCPay Server. - Non-custodial: a payment goes from the buyer straight to the merchant's wallet and never through Perly Pay, which is the difference from a gateway that holds the money and pays it out. - A price per payment, billed apart from the sale, which is the difference from a gateway that keeps a share of every sale. - Crypto only: Perly Pay takes no cards and pays nothing out to a bank. Compared with named gateways, facts dated 2026-11 and sources linked: [all comparisons](https://pay.perly.io/vs), [Coinbase Commerce alternative](https://pay.perly.io/vs/coinbase-commerce), [Cryptomus alternative](https://pay.perly.io/vs/cryptomus), [CoinGate alternative](https://pay.perly.io/vs/coingate), [BTCPay Server alternative](https://pay.perly.io/vs/btcpay-server). ## Pay as you go: what a month costs - Shrimp: 1–21 paid payments a month, $0 a month (payments of $5 and up) - Crab: 22–210 paid payments a month, up to $5.25 a month (payments of $5 and up) - Fish: 211–2,100 paid payments a month, up to $52.50 a month (payments of $5 and up) - Sailfish: 2,101–21,000 paid payments a month, up to $525 a month (payments of $5 and up) - Dolphin: 21,001–42,000 paid payments a month, up to $1,050 a month (payments of $5 and up) - Whale: more than 42,000 paid payments a month, from $1,050 a month (payments of $5 and up) ## For developers - [Quick start](https://pay.perly.io/docs/quick-start.md): a payment link without code, then an invoice and a webhook in Node or PHP. - [API reference](https://pay.perly.io/docs/api.md): every endpoint and object of the REST API (`https://pay.perly.io/api/v1`), each call in curl, Node and PHP. - [SDKs](https://pay.perly.io/docs/sdks.md): Node/TypeScript `perly-pay` (npm) and PHP `perly/perly-pay` (Composer), both with no dependencies; WooCommerce and WHMCS plugins built on it ([WooCommerce](https://pay.perly.io/docs/woocommerce.md), [WHMCS](https://pay.perly.io/docs/whmcs.md)). - No code: the [Make](https://pay.perly.io/docs/make.md) app — triggers on paid invoices, refunds, subscriptions and customers; actions that create invoices and payment links. - [OpenAPI 3.1](https://pay.perly.io/api/v1/openapi.json): the machine-readable API description. - [Webhooks](https://pay.perly.io/docs/webhooks.md): signed POSTs; verify `Perly-Signature: t=,v1=` and refuse timestamps more than five minutes old. - Auth: `Authorization: Bearer sk_test_…` (test mode) or `sk_live_…` (live); the key decides the mode. Send an `Idempotency-Key` with every POST. - Amounts: fiat in integer minor units (cents) with a currency (USD or EUR); on-chain amounts as integer strings in the asset's smallest unit. ## For AI coding assistants - [Perly Pay for developers who build with AI](https://pay.perly.io/developers): a prompt to paste into Claude Code, Cursor or Codex, the ways to install Perly Pay where you write code, and five recipes. - [All the docs in one file](https://pay.perly.io/llms-full.txt): every docs page and the whole API reference as Markdown. - Every docs page is also Markdown: add `.md` to its address ([webhooks.md](https://pay.perly.io/docs/webhooks.md)), or ask for it with `Accept: text/markdown`. The docs home: [docs.md](https://pay.perly.io/docs.md). - [Agent Skills](https://pay.perly.io/.well-known/agent-skills/index.json): one SKILL.md per integration (perly-pay-quick-start, perly-pay-checkout, perly-pay-payment-links, perly-pay-subscriptions, perly-pay-webhooks, perly-pay-sdks, perly-pay-woocommerce, perly-pay-whmcs, perly-pay-make, perly-pay-add-crypto-checkout, perly-pay-sell-credits, perly-pay-sell-subscription, perly-pay-sell-license-keys, perly-pay-sell-bot-access, perly-pay-paid-mcp-tools, perly-pay-test-and-go-live). - [Claude Code plugin](https://pay.perly.io/docs/recipes): Eight skills for Claude Code (also as Cursor rules and an AGENTS.md block): a crypto checkout, credits per request, subscriptions renewed by invoice, license keys, paid bots, paid MCP tools, webhooks, and going live. `claude plugin marketplace add volodymyrslipak/perly-pay-ai && claude plugin install perly-pay@perly` - [perly-pay-mcp](https://pay.perly.io/docs/mcp): A local MCP server (stdio) for Claude Code, Cursor and Codex: an assistant makes products, prices, payment links and invoices, pays them in test mode and reads payments, with your key on your machine; with a live key it only reads. `claude mcp add perly-pay --env PERLY_PAY_SECRET_KEY=sk_test_… -- npx -y perly-pay-mcp` - [npx perly-pay init](https://pay.perly.io/docs/quick-start-npx): Sets up Perly Pay in a Next.js, Express, Hono, Laravel or Node project in test mode: a checkout route, a webhook route that checks signatures, a Pay button, and the keys in .env (kept out of git). `--yes` asks nothing, so an assistant can run it. `npx perly-pay init --yes` ## For buyers - [Help with paying](https://pay.perly.io/help/pay): You're paying a seller who uses Perly Pay. The money goes straight to their wallet. Here is what to do when something isn't simple. - [Pay from an exchange](https://pay.perly.io/help/pay/exchange): Binance, Coinbase, Kraken, Bitvavo, OKX, Bybit: the right coin, the right network, the exact amount. - [The exchange asks who owns the address](https://pay.perly.io/help/pay/travel-rule): The EU travel rule: what to answer when you pay a seller from an exchange, and why it's normal. - [I paid on the wrong network](https://pay.perly.io/help/pay/wrong-network): What we find on our own, what to do, and what nobody can bring back. - [Too little, too late, or out of time](https://pay.perly.io/help/pay/late-or-short): Topping up at the same address, "Already paid?" with the transaction id, and what happens after the timer. - [Refunds](https://pay.perly.io/help/pay/refunds): The seller sends a refund from their own wallet to an address you give through a secure link. ## Docs - [Quick start](https://pay.perly.io/docs/quick-start.md): Your first payment in five minutes — first without code, then with two calls and a webhook. - [Quick start with npx](https://pay.perly.io/docs/quick-start-npx.md): One command sets Perly Pay up in your project: a checkout route, a webhook route that checks signatures, a Pay button and your test key. - [Payment links](https://pay.perly.io/docs/payment-links.md): One address that sells one thing. Share it anywhere, no code. - [Hosted checkout and pay.js](https://pay.perly.io/docs/checkout.md): Send buyers to our checkout, or open it over your page with one script. - [WooCommerce](https://pay.perly.io/docs/woocommerce.md): A payment method for WooCommerce: bitcoin and USDC/USDT straight to your wallet, orders marked paid by a signed webhook. - [PrestaShop](https://pay.perly.io/docs/prestashop.md): A payment module for PrestaShop: buyers pay in bitcoin or USDC/USDT straight to your wallet, and a signed webhook makes the order. - [WHMCS](https://pay.perly.io/docs/whmcs.md): A payment gateway for WHMCS: clients pay invoices in bitcoin or USDC/USDT straight to your wallet, marked paid by a signed webhook. - [Blesta](https://pay.perly.io/docs/blesta.md): A payment gateway for Blesta: clients pay invoices in bitcoin or USDC/USDT straight to your wallet, recorded by a signed webhook. - [FOSSBilling](https://pay.perly.io/docs/fossbilling.md): A payment adapter for FOSSBilling: clients pay invoices in bitcoin or USDC/USDT straight to your wallet, paid by a signed webhook. - [Make](https://pay.perly.io/docs/make.md): Payments into any Make scenario: instant triggers for paid invoices, refunds, subscriptions and customers; modules to make invoices and payment links and to look them up. - [n8n](https://pay.perly.io/docs/n8n.md): Crypto payments in any n8n workflow: a trigger for paid invoices, refunds and subscriptions, and a node that makes invoices and payment links. - [AI assistants (MCP)](https://pay.perly.io/docs/mcp.md): Sell from Claude Code, Cursor or Codex in one prompt: products, prices, payment links and test payments, through a local MCP server with your key. - [Recipes for AI assistants](https://pay.perly.io/docs/recipes.md): Sell an API, a SaaS plan, an app, a bot or MCP tools for crypto, in one prompt to your coding assistant. - [Recipe: API credits](https://pay.perly.io/docs/recipe-api-credits.md): Sell prepaid credits for an API or an AI feature and spend one per request. A short balance answers 402 with a top-up link. - [Recipe: SaaS subscription](https://pay.perly.io/docs/recipe-saas-subscription.md): A monthly or yearly plan paid in crypto. Every period is an invoice with reminders; your app asks Perly Pay who has access. - [Recipe: License keys](https://pay.perly.io/docs/recipe-license-keys.md): Sell a desktop app, CLI, plugin or template with license keys. The shipped app checks its key with no secret inside. - [Recipe: Telegram bot](https://pay.perly.io/docs/recipe-telegram-bot.md): Sell bot commands, a role or a private group. Each user gets their own invoice; a signed webhook unlocks them. - [Recipe: Paid MCP server](https://pay.perly.io/docs/recipe-paid-mcp-server.md): Charge for an MCP server's tools per call with credits. A person buys a pack once; each call spends, then runs. - [Price models](https://pay.perly.io/docs/price-models.md): One-time, pay what you want, fixed term, subscription, lifetime with cohorts, credit packs. - [Sell credits](https://pay.perly.io/docs/credits.md): Prepaid credits for an API or an AI service: buyers top up themselves, your server spends one call at a time. Nothing is taken from a top-up. - [Subscriptions and reminders](https://pay.perly.io/docs/subscriptions.md): Every period is an invoice. We send it, remind the buyer, and tell you what happened. - [Refunds](https://pay.perly.io/docs/refunds.md): You send from your own wallet; the buyer gives an address through a secure link. We take nothing. - [Screening](https://pay.perly.io/docs/screening.md): Every sender is checked before an invoice grants anything. A sanctions hit never buys and is never refunded. - [Receipts](https://pay.perly.io/docs/receipts.md): Email, a public page and a PDF, numbered in your own series. - [Wallets](https://pay.perly.io/docs/wallets.md): Connect a public key from Ledger, Trezor, a file, or paste it. What it can and can't do. - [Test mode](https://pay.perly.io/docs/test-mode.md): Test networks, test keys, a button that pays. Free and unlimited. - [Webhooks](https://pay.perly.io/docs/webhooks.md): Signed POSTs to your server when something happens. Verify, then act. - [SDKs](https://pay.perly.io/docs/sdks.md): Node and PHP: the whole API, with idempotency keys, retries, typed errors and webhook checks built in. - [API reference](https://pay.perly.io/docs/api.md): Every endpoint and object, with each call in curl and Node. ## More - [Pricing](https://pay.perly.io/pricing), also as [Markdown](https://pay.perly.io/pricing.md) - [How Perly gets paid](https://pay.perly.io/how-perly-gets-paid): Perly App has sold through Perly Pay since 15 October 2026. Why we left 1% gateways, and the one time it went wrong. - [Sanctions and risk](https://pay.perly.io/sanctions): What Perly Pay checks before money buys anything: OFAC's list, TRM Labs, the stablecoin issuer's freeze, ScamSniffer — and what it can't do. - [Security](https://pay.perly.io/security): How to report a vulnerability in Perly Pay, what is in scope, and what we do with a report. - [Contact](https://pay.perly.io/contact): Questions, reports of abuse or a scam, and security issues: one form, read by the people who run Perly Pay.