SkullPay

Accept crypto payments.
Keep the keys.

SkullPay is a non-custodial payment gateway. Payers send funds straight to addresses derived from your wallet — SkullPay never holds a coin, never touches a private key, and never takes a cut.

0%platform fees, ever
11 networks14 coins & stablecoins
Non-custodialxpub in, payments out — no keys
GDPR / CCPAencrypted PII, DSAR endpoints, audit ledger

How a payment flows

Create an invoice

Your store (the WooCommerce plugin, or one POST /v1/invoices) asks for an amount in your fiat currency and gets back a hosted pay link.

The payer picks coin and network

The checkout shows only pairs you have a wallet for, with live fee and time estimates. The rate locks, a fresh address is derived from your xpub, and a QR code appears.

Watchers confirm, webhooks fire

Chain watchers track the deposit through detection and confirmations, then deliver a signed invoice.paid webhook with retries. The plugin completes the order.

Coins and networks

Live watchers ship for every network below. Enable the pairs you want; add your own RPC endpoints for production volume.

Network Assets Confirmations Typical time Address model
BitcoinBTC1~10 minHD — fresh address per invoice from your xpub
LitecoinLTC2~5 minHD — fresh address per invoice from your xpub
EthereumETH · USDT, USDC, DAI, SHIB, LINK (ERC-20)12~5 minHD — fresh address per invoice from your xpub
BNB Smart ChainBNB · USDT, USDC, DAI, SHIB, LINK (BEP-20)15~2 minHD — fresh address per invoice from your xpub
PolygonPOL · USDT, USDC, DAI (ERC-20)60~3 minHD — fresh address per invoice from your xpub
Arbitrum OneETH · USDT, USDC, DAI, LINK (ERC-20)20~2 minHD — fresh address per invoice from your xpub
Avalanche C-ChainAVAX · USDT, USDC (C-Chain)1~1 minHD — fresh address per invoice from your xpub
BaseETH · USDC (ERC-20)20~2 minHD — fresh address per invoice from your xpub
TRONTRX · USDT (TRC-20)19~2 minHD — fresh address per invoice from your xpub
SolanaSOL · USDT, USDC (SPL)1~1 minStatic or pool address + memo / amount match
TONTON · USDT (Jetton)1~1 minStatic or pool address + memo / amount match

Built for operators, not custodians

Your wallet, your addresses

Account-level xpub / zpub for Bitcoin, Litecoin, every EVM chain and TRON; static or pooled addresses with memo matching on Solana and TON. Private keys are rejected on input.

WooCommerce, blocks included

A thin WordPress plugin: classic and block checkout, order sync, admin invoice list, GDPR exporter and eraser, WP-CLI. Secrets sealed with libsodium.

Hosted checkout

A fast, brandable pay page with searchable pickers, QR codes, timers and optional WalletConnect — on your domain or ours.

Signed webhooks with retries

HMAC-signed events, timestamp tolerance, ten-step retry schedule, dead-letter queue, replay and inspection from the dashboard.

Exact money math

Decimal strings end to end, locked quotes with a configurable window, underpayment tolerance, late-payment grace and explicit terminal states.

Privacy by construction

Payer PII lives only in an AES-256-GCM vault with blind indexes and retention purge; webhooks and logs are PII-free. Every admin action lands in a hash-chained audit ledger.

Developers

One OpenAPI 3.1 surface for invoices, wallets, currencies, webhooks, privacy and audit. Idempotency keys on every mutation, RFC 9457 problem details on every error, a typed TypeScript SDK and a webhook verifier.

Browse the API reference →

# Create an invoice; the response carries a pay_url for the checkout
curl -X POST https://api-staging.skullpay.co/v1/invoices \
  -H "Authorization: Bearer sk_live_…" \
  -H "Idempotency-Key: order-1001" \
  -H "Content-Type: application/json" \
  -d '{"amount":"26.00","currency":"USD","order_id":"1001"}'

Pricing

Free.No platform fees.

SkullPay never touches your funds, so there is nothing to take a percentage of. Payers cover the network fee their wallet charges; you pay nothing to SkullPay.

Create a free account