Accept crypto payments with a single link.

Create a payment link, share it anywhere and let your customer pay in the coin they hold. VeliraPay locks the rate, hosts the checkout, pings your server when the payment lands and forwards the money to your own wallet.

6 ways to pay
BTC, LTC, DOGE, BCH, ETH, SOL
7 currencies
Price links in what you invoice
30 min rate lock
No volatility surprises
3 days of retries
Failed webhooks keep coming back
Everything included

The checkout your customers expect, minus the integration.

No SDK to install and no storefront to rebuild. Create a link in the dashboard and start collecting payments today.

A hosted checkout that does the explaining

Exact amount, network, deposit address and a countdown, all on one mobile-friendly page. It refreshes itself and flips to "paid" the moment the payment is detected.

Send exactly 0.0025 BTC To bc1qexampl…9f2k
Paid

Locked exchange rates

Every charge freezes the fiat price and the crypto amount for 30 minutes so nobody argues about volatility.

1 BTC = 60,000.00 USD 29:41

Automatic payouts

Every confirmed payment is forwarded to your own wallet, usually within minutes. There is no balance to watch and nothing to withdraw.

Invoices

Itemised invoices with a hosted page to pay them, a printable copy and reminders around the due date.

Payment links

Fixed prices or let the customer choose the amount, limit the coins a link takes, and archive it to stop payments instantly.

Solo or as an organization

Start in your personal account, or create an organization with its own logo and wallets, and invite people as owners, admins or members.

Priced in your currency

Set prices in USD, EUR, GBP, CAD, AUD, CHF, TRY. We convert at checkout and record the rate on every charge.

Test mode

Run whole payments on test networks, with their own links, charges and webhooks, before any real money moves.

How it works

Three steps from link to settled payment.

  1. 1

    Create a link

    Give it a title, a price and where to send the customer afterwards. Copy the URL or drop it in an invoice, a DM or a QR code.

  2. 2

    Customer picks a coin

    They choose a coin, and we lock the rate and show an address made for this payment alone, with the exact amount to send.

  3. 3

    You get paid

    Once the payment confirms, the charge flips to paid, your webhook receives a signed event and your share is forwarded to your wallet.

Dashboard

Every payment, one screen.

Volume, conversion, open charges and delivery logs, scoped to the account you are in. No spreadsheet required.

Developers

Webhooks you can trust.

Every delivery is a JSON POST signed with HMAC-SHA256 over the timestamp and the raw body. Verify the signature, check the timestamp and use the delivery id for idempotency. Failed deliveries are retried for about three days, and you can resend any of them from the dashboard.

  • Signed events for every charge and invoice: paid, underpaid, expired, refunded and more
  • Per-endpoint signing secrets you can rotate any time
  • Full delivery log with response codes, errors and one-click resend
  • REST API with idempotency keys, and an MCP server for AI agents
Read the API docs
// Verifying a delivery
$expected = hash_hmac('sha256', "$t.$body", $secret);
hash_equals($expected, $v1) && abs(time() - $t) < 300;
POST /webhooks/velirapay charge.paid
X-VeliraPay-Signature: t=1789603200,v1=4f1c…ab09
X-VeliraPay-Delivery:  9d2e0b8a-…-5f3a

{
  "event": "charge.paid",
  "data": {
    "charge": {
      "code": "2t4bcuqkpkoy",
      "fiat_amount": "150.00",
      "fiat_currency": "USD",
      "asset": "BTC",
      "asset_amount": "0.002500000000000000",
      "paid_at": "2026-09-17T00:00:00.000000Z"
    }
  }
}
Security

Built to hold your money as briefly as possible.

A payment passes through on its way to you. It is held only until its payout goes out, normally within minutes, and never kept as a balance for you to withdraw.

A fresh address for every payment

Each charge gets an address of its own that is never handed out again, so one payment can never be mistaken for another.

Counted once it is final

A payment only counts after the chain has confirmed it as many times as its coin needs, so nothing is credited that could still be undone.

Forwarded within minutes

Your share usually leaves as soon as the payment is confirmed, straight to the payout address you gave for that coin.

Signed webhooks

Every event carries an HMAC-SHA256 signature and a timestamp, so your server can prove it came from us and refuse replays.

Passkeys and two-factor sign-in

Protect the dashboard with a passkey or an authenticator app. Changing where payouts go asks for your password again.

Told about every change

Owners and admins are emailed whenever a payout address changes, with who made the change and from where.

FAQ

Questions merchants ask first.

Something missing? Create an account and try it with a test link, paid in test coins that are worth nothing.

Start accepting crypto today.

Create your first payment link in under a minute. No contract, no integration and no monthly fee.