Skip to content
Non-custodial Payment Processor.4 chains live

Get paid in crypto,
straight to your wallet.

Customers send crypto to a wallet you already own. We watch the chain, match the transfer, fire a signed webhook. You never wait for a payout, because there is no payout to wait for.

Non-custodial
Funds never touch us.
Trustless by design
Bytecode-welded treasury, not promises.
No custodial balance
Customer funds go to your wallet.
No chargebacks
On-chain finality. No bank reversals, ever.
4 chains live
BitcoinLitecoinBitcoin CashDogecoin
View all
  • HMAC-signed webhooks
  • 8-retry webhook ladder
  • SSRF-hardened egress
  • Immutable balance ledger
How it works

From setup to paid. No custody at any step.

Connect a wallet you already own, create a checkout, and let your customer pay. Funds land directly in your wallet. No payout to request.

01

Create an account

Sign up in under a minute. Top up a small prepaid credit - that is the fee balance we debit per confirmed payment, separate from the payment amount itself.

02

Connect your wallet

Add the wallet you want to receive into. We only need your public address. Your private key never leaves your hands.

03

Create a checkout

Generate a payment link, send an invoice, or call the API. Set the amount in your currency and we handle the crypto conversion at a locked rate.

04

Customer pays, you are done

Your customer opens a hosted page, picks a coin, and pays from their wallet. We confirm the transaction on-chain and send a webhook to your server. Funds land directly in your wallet.

What you actually get

Self-custody. Predictable fees. Live in minutes, not weeks.

No payouts to chase. No platform-held customer balance. Just an invoice, a confirmation, and money already in the wallet you control.

Keep 100% of every payment
The customer pays your wallet directly. Our fee comes out of a prepaid USD credit you top up separately, so nothing is skimmed off the customer's payment before it reaches you.
Default fee 1% + $0.50 per invoice
No payouts. No waits.
There is no payout step because there is nothing to pay out. The money is in your wallet the moment it confirms on-chain. No T+2, no daily batch, no 'review' hold.
Settlement time = confirmation time
No monthly minimum. No chargebacks.
An idle month costs zero. On-chain transactions are final, so your fraud rate is structurally zero. Your prepaid credit never expires.
$0/month idle . 0 chargebacks
Invoice in the currency your books speak
Price in any enabled fiat currency. We quote the crypto amount, lock the rate for the pay window, and report both totals on the webhook so accounting stays clean.
45 fiat currencies . rate locked
Create a test payment first
Use test mode before a live payment moves. Test keys cannot reach mainnet.
Test mode is fully isolated
Integrate end-to-end before a live dollar ever moves. Test keys cannot reach mainnet.
Refunds stay in your hands
You sign from your own wallet. We record and broadcast. No reversal primitive lives on our side.
Customers watch it confirm
Real-time status streams to the checkout. No page refresh, no 'did it go through?' support tickets.
Rotate wallets, keep history
Add a new receiving wallet, retire the old, your existing invoices keep working. No store to rebuild.
Fiat-first

Invoice in fiat.They pay in crypto.

Charge $499.00, not a manually calculated coin amount. Your customer pays in whatever is actually in their wallet, and we settle against a live rate that is locked the moment they commit.

  • 45 fiat currencies. Use the currencies enabled for your platform.
  • Customer switches the coin at checkout. Same invoice, any chain we support.
  • Rate locked for 1 hour. No slippage after the customer commits to pay.
  • Accounting stays clean. Webhooks report fiat total, crypto paid, and the locked FX rate.
Invoice #INV-1042
$
Billed inUSD
Customer pays withwindow 1 hour
webhook payloadamount_fiat=$499.amount_crypto=0.00833205 BTC.fx=59889.23
Illustrative estimate. Checkout locks the exact coin amount. Rates served from 7 enabled sources. Invoice expires in 1 hour.
Features

Everything a processor should do. Nothing more.

Dependable webhooks. Real test mode. A clean API. The unglamorous things that decide whether you ship on schedule.

A webhook for every event

Signed with your secret. 8-retry ladder out to ~35 hours with jitter. Fire a real test from the dashboard.

Test mode you can actually trust

A separate plane with its own keys and data, enforced by database CHECK constraints. A test key cannot reach mainnet.

Three endpoints. That is the API.

Create a payment. Read its status. Verify a webhook. Plain REST and JSON. Integrate in an afternoon, not weeks.

No custodial payout account.

Customer payments land in merchant-controlled wallets, so there is no platform balance to release on a payout schedule.

Price in your customer's currency

Invoice in 45 fiat currencies. The customer pays in crypto at a locked rate, and we do the conversion math.

No chargebacks. Ever.

On-chain transactions are final. There is no chargeback primitive to abuse, so your fraud rate is structurally zero.

Chains and coins

They pay in what they hold. You receive the same coin.

4 mainnet chains and 4 enabled coin routes are available today. Customer transfers land in the merchant wallet route selected at checkout.

BTConBitcoinBTCLTConLitecoinLTCBCHonBitcoin CashBCH
Bitcoin
BitcoinBTC
Native
Litecoin
LitecoinLTC
Native
Bitcoin Cash
Bitcoin CashBCH
Native
Dogecoin
DogecoinDOGE
Native
Pay in the stablecoin. Settle in the stablecoin.
The customer's transfer lands in your wallet untouched. No conversion to a base asset, no spread on the stablecoin leg. Our fee comes off your prepaid credit, not the payment.
Stablecoin routes appear when enabled
Security model

We can't lose what we never held.

Funds land in a wallet you already own. EVM forwarders hard-code your treasury into the bytecode at deploy, so even our operator key can only push to that one address. Webhooks are HMAC-signed; the audit log has no DELETE endpoint.

Our infrastructure gets breached
Custodial:Hot wallets drained. Merchant balances gone.
NoHoldPay:No hot wallets for customer funds. Attacker finds invoice rows.
You want customer funds outside a platform balance
Custodial:Customer funds sit inside the provider's ledger until a payout clears.
NoHoldPay:Customer funds settle to addresses controlled by your wallet, not a platform payout balance.
We go bankrupt overnight
Custodial:Your balance enters the bankruptcy estate. Months to recover, cents on the dollar.
NoHoldPay:You already hold your coins. New checkouts stop working. Existing ones already paid out.
A court orders an address frozen
Custodial:Custodian freezes your balance on the platform. Indefinite.
NoHoldPay:We have no freeze primitive. The address is yours, on your wallet. We cannot act on it.
Your webhook secret leaks
Custodial:Attacker can mark invoices paid. Rotate the secret.
NoHoldPay:Same. Rotate the secret. Funds are untouchable; only order state is at risk.
You lose your own seed phrase or factory key
Custodial:Open a ticket. Maybe recover.
NoHoldPay:You lose access to your own coins. We cannot help. That is the trade-off.
What we can't protect you from. If you lose the seed phrase or private keys to your wallet, your coins are gone and there's nothing we can do, because we never had them. If your webhook secret leaks, someone can send fake "paid" events to your server until you rotate it. Holding nothing means we can't lose anything for you. It also means we can't recover anything for you.
Recovery Kit

Even if every server we run goes dark, your funds come home.

Download a signed JSON bundle plus an open-source CLI at any time. It re-derives every CREATE2 forwarder on EVM and TRON, every PDA forwarder on Solana, and sweeps and send funds to your wallet - against any public RPC, with no platform involvement. Re-issued automatically after every treasury rotation.

How the Recovery Kit works
v1
POST/api/v1/payments API key
Request
# Create a payment
$ curl -X POST "$BASE_URL/api/v1/payments" \
    -H "Authorization: Bearer $API_KEY" \
    -H "Content-Type: application/json" \
    -d '{
      "fiat_amount":     "49.99",
      "fiat_currency":   "USD",
      "order_id":        "ORDER-12345",
      "accepted_chains": ["BTC","ETH","SOL"],
      "accepted_coins":  ["BTC","ETH","USDC","USDT"],
      "success_url":     "https://yoursite.com/thanks",
      "cancel_url":      "https://yoursite.com/cart"
    }'
Response
{
  "data": {
    "id":            "352e4022-e826-4f0c-be3c-a132dfd20224",
    "status":        "pending",
    "fiat_amount":   "49.99",
    "fiat_currency": "USD",
    "order_id":      "ORDER-12345",
    "checkout_url":  "https://checkout.noholdpay.com/352e4022-...",
    "expires_at":    "2026-05-04T11:34:24Z",
    "created_at":    "2026-05-04T11:04:24Z",
    "chain_options": [
      {
        "chain_id":       "BTC",
        "coin_symbol":    "BTC",
        "crypto_amount":  "74521",
        "display_amount": "0.00074521",
        "exchange_rate":  "67050.00",
        "address":        "bc1q...derived-fresh",
        "payment_uri":    "bitcoin:bc1q...?amount=0.00074521"
      },
      { "chain_id": "ETH", "coin_symbol": "USDC", "...": "..." },
      { "chain_id": "SOL", "coin_symbol": "USDT", "...": "..." }
    ]
  }
}
Pricing

Pay only when you get paid.

We never touch the payment, so we can't deduct from it. Fees are drawn from a prepaid USD credit you control. Unused credit never expires.

Pay-as-you-go
prepaid credit
1%+$0.50
per confirmed invoice
Processing fee
per confirmed invoice
1% + $0.50
Sweep & relay gas
CREATE2 sweeps, Solana PDAs, x402 relay, TRON Energy. We broadcast for you and debit your prepaid credit for the exact on-chain cost. No platform markup. When the fee gets large relative to the invoice, your customer is shown a clear network-fee line and asked to cover it.
at cost
UTXO gap-filler
BTC . LTC . BCH . DOGE. Tiny on-chain nudge when your wallet stops watching past 20 unused addresses.
on demand
Payouts, monthly minimums, chargebacks
none, ever
$0
Start accepting payments

Test mode available.No custodial payout account

FAQ

Questions, answered.

The word "non-custodial" hides a lot. Most processors that use it run a forwarding contract or a sweeper key they fully control: they can change the destination, freeze the address, or send the funds anywhere. That is custody by another name. Our EVM CREATE2 forwarders hard-code your treasury address into the bytecode at deploy time, so the operator key can sweep to exactly one place: your wallet. Our Solana PDAs read the treasury from on-chain merchant state, never from caller input. The customer's transaction goes to an address that, by construction, only your wallet can ever receive.
Two cases. If we are temporarily offline, your hosted checkout links stop loading until we are back. Funds already settled to your wallet remain spendable with your normal wallet software. If we shut down permanently, static-wallet modes settle directly to an address your wallet controls. For forwarder modes we ship a signed Recovery Kit: a JSON bundle plus open-source CLI that re-derives every forwarder address you have ever had and supports recovery where the deployed settlement path allows it.
The product is built so customer funds do not sit in a platform custody account. Onboarding and reporting duties still depend on your jurisdiction, business model, and how you use the service. Your own tax, invoicing, sanctions, consumer-protection, and reporting obligations are unchanged.
You sign the refund transaction from your wallet; we help you construct it and broadcast it. We never move the funds. If a customer underpays and decides to walk away, they can hit a single button on the hosted checkout to file a refund request: you get a payment.refund_requested webhook plus an email, and you can accept the partial amount, refund the difference, or wait for a top-up.
The current global processing fee is 1% + $0.50 per confirmed invoice, drawn from prepaid credit. Merchant- or chain-specific fee overrides can apply. When we broadcast on your behalf, network gas or Energy is charged at cost. The UTXO gap-filler is billed only when your wallet's gap limit forces a top-up.
Gasless stablecoin routes are available only where the selected chain and coin support the mode. Today the enabled set includes: enabled routes. The customer signs an authorization, our relay broadcasts it, and funds land in the merchant-controlled address.
Live today: 4 mainnet chains, 8 test networks, 4 enabled coin routes, and 0 stablecoin routes. Stable symbols currently exposed by enabled routes: enabled stablecoin routes.
A payment that technically expired but received an on-chain transfer inside the per-chain late-grace window (12 hours by default) is revived instead of orphaned. Confirmation rules are per-network (block depth for the Bitcoin family and Monero, finalized tag for EVM, solidification for Tron, finalized commitment for Solana, single-slot or single-ledger BFT finality for XRP, Stellar, and TON) and admin-tunable without a deploy. Our tip-consensus check compares independent RPC views per chain and routes around any provider serving a divergent fork.
Get started

Accept crypto without the custody.

Connect a wallet you already control. We start watching the chain. Ship the same hour.