No merchant of record. No KYB form. No 1% fee. No 3-day settlement. Funds land directly in your wallet on 13 chains — including the cheap L2 rails BitPay doesn't support.
One POST to /v1/payments, redirect the customer to the returned URL, listen for the signed webhook. That's it. No client tokens, no merchant onboarding, no signed-PDF dance.
cryptpe-button.js// crypt.pe — one POST, one redirect
const order = await cryptpe.payments.create({
amount_usd: 49,
accepted_coins: ["eth","usdc-erc20","btc"],
return_url: "https://shop.com/thanks",
webhook_url: "https://shop.com/webhooks/cryptpe",
});
res.redirect(order.checkout_url);// BitPay — board the merchant first const client = new bitpay.Client(privateKey, env, ...); await client.authorizeClient(pairingCode); // out-of-band const invoice = new bitpay.Invoice(49, "USD"); invoice.notificationURL = "https://shop.com/..."; invoice.redirectURL = "https://shop.com/thanks"; invoice.itemDesc = "Order 1234"; invoice.token = await client.getTokens(); const created = await client.createInvoice(invoice); res.redirect(created.url);
Most gateways skim 1 % off the top. We don't. Funds settle straight to your wallet — we never see them. You pay nothing per transaction. (We'll eventually charge for premium analytics + on-call support; the gateway itself stays free.)
Your customers send crypto directly to the wallet address YOU control. We literally cannot pause, freeze, or skim your funds — no other gateway can say the same.
Node, Python, WooCommerce, Magento, drop-in JS button, Shopify recipe. If your stack is on the internet, we have a one-line integration for it.
FTX, Celsius, BlockFi — every custodial gateway has the same single-point-of-failure. crypt.pe doesn't touch your money. We can't lose what we never held.
Drop your wallet address. Generate an API key. Send your first test payment. You'll know whether it works for you before BitPay even replies to your sales email.