Crypto Payment Link: Create One for USDC or USDT in Minutes
A crypto payment link is the simplest way to get paid in crypto without a website or a checkout. You set the amount, the token and the network once, copy the link and send it. The customer opens it, pays from their wallet, and you see the payment marked as paid.
This guide shows how to create a crypto payment link for USDC or USDT with OrcaRail, where to share it, what the customer sees and what it costs. It also covers when a single link is the wrong tool, for example when you sell one product to many buyers.
What is a crypto payment link
A crypto payment link is a web address that opens a hosted pay page with a fixed amount, token and network. With OrcaRail it looks like https://pay.orcarail.com/<slug>.
On the pay page the customer:
- sees the exact amount, token and network,
- connects a wallet, or scans a QR code with a phone wallet,
- can pay with another supported token or network instead. The quote then adds a bridge fee, which the customer pays.
OrcaRail watches the blockchain, matches the payment to the link and forwards the money to your withdrawal address. You don't check a block explorer or match transfers by hand.
Payment link, widget or API: which one you need
A payment link is for one payment. When the full amount has arrived, the link's status changes to Completed and it stops accepting payments. Pick the tool by who pays and how often:
| You want to | Use | How it works |
|---|---|---|
| Get paid once by one client: a freelance job, a deal agreed in chat, an invoice | A payment link | One link, one payment |
| Sell the same product to many buyers, for example on a landing page | A pricing widget | Each buyer gets a new one-time payment link |
| Charge for orders in your own store or app | A payment intent or the WooCommerce plugin | One payment per order, and a webhook marks the order paid |
| Bill the same customer every month | A subscription | A new link each period, or auto-charge |
How to create a crypto payment link (no code)
- Sign up at app.orcarail.com and finish the guided setup once. See Getting started.
- Add your withdrawal address for each chain type you accept: EVM, Solana or Bitcoin. See Withdrawal strategy.
- Go to Payments and click Create Payment Link.
- Enter a title, the amount, the token and the network. The amount is in the token you receive:
50with USDC on Base means 50 USDC. - Optional settings:
- Expiration. By default a link never expires. Set a date if the offer or the invoice has a deadline.
- Payer email. Only this person can pay. They confirm the email with a code on the pay page before paying.
- Withdrawal addresses for this link only, if the money should go to a different wallet.
- Create the link, then click Copy payment link.
After the one-time setup, each new link takes about a minute.
Where to share a crypto payment link
The link is a normal URL, so it works anywhere you can paste text:
- Email and invoices. Put it where the payment details go. See how to send a crypto invoice.
- Chat apps and direct messages. WhatsApp, Telegram, Discord, Instagram or X.
- In person. Turn the URL into a QR code with any QR generator, then show it on a phone or print it.
Give each link a clear title, such as "Logo design, 50% deposit", so you can find the payment later.
What the customer sees on the pay page
The customer opens the link and sees the title, the amount and the network. They connect a browser wallet, or scan the QR code with a phone wallet, and send the payment. They don't need an OrcaRail account.
If they hold a different coin, for example USDT on Ethereum when the link asks for USDC on Base, they can choose it. Relay bridges or swaps it, and the quote adds a bridge fee that the customer pays. You still receive the full amount. See Fees.
Track who paid
Each link shows its status in the dashboard: Active, Paused, Expired, Completed or Canceled. Open a link and click View transactions to see each payment with its token and network. You can also search your links by title, payer email or payer wallet.
If your own system must react to a payment, for example to unlock an order, use a payment intent instead of a hand-made link. A payment intent creates its own hosted pay link, and your backend gets a signed payment_intent.completed webhook.
Create payment links with the API
To create links from your own system, call POST /payments/links with an API key:
curl https://api.orcarail.com/api/v1/payments/links \
-u ak_test_your_key:sk_test_your_secret \
-H "Content-Type: application/json" \
-d '{
"title": "Logo design, 50% deposit",
"amount": "50",
"tokenId": "<USDC token UUID>",
"networkId": "<Base Sepolia network UUID>",
"expiresAt": "2026-12-31T23:59:59.000Z",
"metadata": { "client": "acme" }
}'
The response includes a slug, and the link is https://pay.orcarail.com/<slug>. Token and network IDs come from Networks and tokens. The full request and response are in the Payments API reference.
Test a payment link in the sandbox
Before you send a real link, try one with test funds:
- Click Go to sandbox in the dashboard. A sandbox uses testnets only, so no real money moves.
- Create a payment link in USDC on Base Sepolia, Ethereum Sepolia or Arbitrum Sepolia.
- Open the link and click Simulate payment in the test banner. Or pay it with free test USDC from the Circle faucet: see our Sepolia USDC faucet guide.
A simulated payment shows as paid in the dashboard, but it is never withdrawable. See Simulate payments.
What a crypto payment link costs
- Network fee: paid by the customer to the blockchain. It is low on Base, Solana, Polygon or Arbitrum, and usually higher on Ethereum.
- Bridge fee: only when the customer pays with another token or network. It appears in the quote, and the customer pays it.
- OrcaRail fee: 0.5% per completed transaction, and the first 100 transactions are free. A 200 USDC link costs 1 USDC. See pricing.
When we checked the live API on 13 November 2026, OrcaRail supported 70 active mainnet networks. The current list is on Networks and tokens.
FAQ
Is it safe to share a crypto payment link?
Yes. The link only lets someone pay you. It gives no access to your wallet or your account. Anyone who has the link can pay it, so set a payer email if only one person should pay.
Can many people pay the same link?
No. A payment link collects one payment and closes when the full amount has arrived. To sell the same product to many buyers, use a pricing widget: each buyer gets a new one-time link.
Can the customer pay with a different coin or network?
Yes. The customer picks another supported token or network on the pay page. Relay bridges or swaps it, and the bridge fee is added to the customer's quote, so you receive the full amount in the token you chose.
Do crypto payment links expire?
Not by default. You can set an expiration when you create or edit the link. An expired link no longer accepts payments.
What is the difference between a payment link and a payment intent?
A payment link is made for sharing: you create it in the dashboard or with the API and send it to someone. A payment intent is made for checkouts in your own app: you set the price in your currency (for example "25.00" and "usd") and a return_url. It creates a hosted pay link for that order, and your backend gets webhooks.
