Skip to content
0.4% per invoice25 coin and network pairs$0 monthly fee

Get paid in
stablecoins.

Invoices, checkout, links and subscriptions. Your customer picks the coin and the chain. You get a webhook.

Make a payment linkTry it. This is how it works in your dashboard.

Price
Accepted coins
Accepted networks
Ways to get paid

Six ways in. One balance.

Start with a link from the dashboard. Add the API when you need it. Every option shares the same fee and the same webhooks.

01

Invoices

Set an amount and get a checkout URL. Fix the coin and chain, or let your customer choose.

POST /invoices
02

Hosted checkout

One script opens the checkout as a modal on your site. No redirect, and your customer stays on your domain.

FintraPay.checkout({ invoiceId })
03

Payment links

One link, unlimited payments. Fixed price or customer-entered. Put it in a bio, an email or a QR on the counter.

fintrapay.io/p/your-link
04

Recurring billing

Create a plan and share the subscribe page. We invoice each cycle, email the customer and retry when a payment fails.

weekly · monthly · quarterly · yearly
05

Deposit addresses

Give each of your users a permanent address per chain. They deposit any time; you get notified.

POST /deposit-api/users
06

Refunds

Refund a paid invoice from the dashboard or the API, with the full history kept on the invoice.

POST /invoices/{id}/refunds
How it works

Three steps to paid.

The same flow for every product, on every chain.

1

Create

Make an invoice, link or plan from the dashboard or the API.

2

Customer pays

They pick a coin and network, then scan the QR or copy the address.

3

You're settled

Confirmed on-chain, balance credited, and a signed webhook sent to your server.

Know the moment you're paid.

Every status change sends a webhook signed with HMAC-SHA256, so you know it came from us. Missed one? Resend it from the dashboard.

invoice.paidPayment seen on-chain
invoice.confirmedConfirmations reached, balance credited
invoice.underpaidLess than the amount due arrived
invoice.expiredThe payment window closed unpaid
from xfintrapay import FintraPay client = FintraPay(api_key="xfp_key_...", api_secret="xfp_secret_...") invoice = client.create_invoice( amount="150.00", accepted_tokens=["USDT", "USDC"], accepted_chains=["tron", "base"], # or "non_custodial" mode="custodial", ) # send your customer to the checkout print(invoice["checkout_url"])
Custody

Your balance, or your own wallet.

Choose for each invoice. Both cost the same 0.4%.

Custodial

Payments land in your FintraPay balance, ready to withdraw, pay out or earn.

  • A unique deposit address per invoice
  • Credited after on-chain confirmation
  • Withdraw any time for network gas only
mode: "custodial"

Non-custodial

Payments go straight to your own wallet. FintraPay never holds the funds.

  • Funds never sit with us
  • A fresh address from your own wallet for each invoice
  • Your keys, your wallet
mode: "non_custodial"
FAQ

Payments, answered.

What does it cost to accept a payment?

0.4% of each paid invoice, for custodial and non-custodial alike. No setup fee and no monthly fee.

Which coins and networks can customers pay with?

USDT, USDC, DAI, FDUSD, TUSD and PYUSD on TRON, BSC, Ethereum, Solana, Base, Arbitrum and Polygon: 25 coin and network pairs. You can limit any invoice or link to the ones you want.

How fast is a payment confirmed?

It depends on the chain: about 13 seconds on Solana, 45 seconds on BSC, a minute on TRON, two minutes on Base and Arbitrum, three on Ethereum and five on Polygon.

Do I need to write code?

No. Invoices, payment links and subscription plans can all be created from the dashboard. The API and SDKs are there when you want to automate.

Take your first payment today.

Create a free account and share a payment link in minutes. 0.4% per invoice, nothing monthly.

Create free account