Forwarding payments 24/7

Crypto payments,straight to your wallet

TrezorPay is a non-custodial payment API. Create an address, your customer pays, and the funds are forwarded to your own wallet minus 1.25%. No account, no API key.

api.trezorpay.com
1 · Your server creates an address 200
GET /trc20/usdt/create/
  ?callback=https://shop.example/paid
  &address=TJzX…6yWf

{
  "status": "success",
  "address_in": "TN7Z…E3q4",
  "minimum_transaction_coin": "10.00000000"
}
2 · We call it back once forwarded signed · *ok*
GET https://shop.example/paid
  ?value_coin=250
  &value_forwarded_coin=244.39
  &fee_coin=2.5
  &txid_out=d50e4bbe…0034
  &result=sent

x-ca-signature: MEUCIQ…

Accept 88 coins on 13 networks

  • Ethereum
  • BNB Smart Chain
  • Polygon
  • Base
  • Arbitrum
  • Optimism
  • Avalanche
  • Tron
  • Bitcoin
  • Litecoin
  • Bitcoin Cash
  • Dogecoin
  • Solana
coins accepted
networks
wallets per payment
lowest fee tier

Everything you need, nothing you have to trust

A payment gateway that never holds your money, and gets out of the way of your code.

Non-custodial

Payments are forwarded on-chain to your wallets as soon as they confirm. No balance sits with us.

No sign-up, no API key

One GET request with your callback URL and wallet returns a deposit address. That is the whole setup.

Signed callbacks

Every notification is signed with RSA-SHA256 and retried for 3 days until your server answers *ok*.

Split payouts

Send one payment to up to twenty wallets by percentage, in a single address.

Multi-token addresses

Let one address accept every token on its network, and read the coin from the callback.

Prices in 37 currencies

Convert amounts, estimate the network cost and render a payment QR code from the same API.

How a payment moves

From the request your server sends to the callback it receives, in four steps.

  1. 1

    Create an address

    Your server calls /create/ with a callback URL and your wallet.

    Order 1042 Waiting
    address_inTN7Z…E3q4
    address_outTJzX…6yWf
    minimum10.00
  2. 2

    Your customer pays

    We see the payment on-chain and call you with pending=1.

    Order 1042 Pending
    value_coin250.00
    confirmations4 / 19
    callbackpending
  3. 3

    We forward it

    Once confirmed, the amount goes to your wallet, minus 1.25%.

    Order 1042 Forwarded
    to your wallet244.39
    fee2.50
    network3.11
  4. 4

    You get a signed callback

    With txid_in, txid_out and the amounts, signed in x-ca-signature.

    Order 1042 Done
    resultsent
    txid_outd50e…0034
    signaturevalid

Try the numbers

Pick a coin and an amount: this is the request you send, and the callback you get back.

Your server creates an address live preview
GET /trc20/usdt/create/
    ?callback=https://shop.example/paid?order=1042
    &address=TJzXZQhbhJB3dA2TmxmvyPxk2nKsmZ6yWf
    &pending=1
Our fee (1.25%)
3.13 USDT
Network cost (example)
5.20 USDT
Forwarded to your wallet
241.68
Then we call your URL, signed in x-ca-signature 200 *ok*
address_in=TN7Zbu4UwtKneYDJyDKXkSorVu95hsE3q4
address_out=TJzXZQhbhJB3dA2TmxmvyPxk2nKsmZ6yWf
txid_in=f8c04ed588a78ddc…
txid_out=d50e4bbe5c94b4bb…
confirmations=19
value_coin=250
value_forwarded_coin=241.675
fee_coin=3.125
coin=trc20_usdt
price=1
pending=0
result=sent
Coin
  • Ethereum
    ETHEther
  • USDTTether
  • USDCUSD Coin
  • DAIDai
  • mUSDMetaMask USD
  • PYUSDPayPal USD
  • USD1World Liberty Financial USD
  • BNB Smart Chain
    BNB
  • USDTTether
  • USDCUSD Coin
  • DAIDai
  • USD1World Liberty Financial USD
  • Polygon
    POL
  • USDTTether
  • USDCUSD Coin
  • USDC.eUSD Coin (Bridged)
  • Base
    ETHEther
  • USDCUSD Coin
  • DAIDai
  • USDTTether
  • Arbitrum
    ETHEther
  • USD₮0
  • USDCUSD Coin
  • DAIDai
  • PYUSDPayPal USD
  • USDC.eUSD Coin (Bridged)
  • Optimism
    ETHEther
  • USDCUSD Coin
  • USDC.eUSD Coin (Bridged)
  • USDTTether
  • USD₮0
  • DAIDai
  • Avalanche
    AVAXAvalanche
  • USDCUSD Coin
  • USDC.eUSD Coin (Bridged)
  • USDTTether
  • Tron
    TRX
  • TUSDTrueUSD
  • USDDDecentralized USD
  • USDTTether
  • Bitcoin
    BTCBitcoin
  • Litecoin
    LTCLitecoin
  • Bitcoin Cash
    BCHBitcoin Cash
  • Dogecoin
    DOGEDogecoin
  • Solana
    SOLSolana
  • USDCUSD Coin
  • USDTTether
Your 30-day volume
  • Under $250k1.25%
  • $250k – $1M1.1%
  • $1M – $2.5M1%
  • $2.5M – $5M0.85%
  • $5M – $10M0.7%
  • $10M – $20M0.5%
  • $20M and above0.25%
Destination
Notify on arrival
Callback

Minimum 10 USDT · forwarded after 19 confirmations

Supported coins

Stablecoins and native coins on thirteen networks. Payments are forwarded once they reach the confirmations shown.

CoinNetworkMinimumConfirmations
ETHEtherEthereum0.0015 ETH3
USDTTetherEthereum2 USDT3
USDCUSD CoinEthereum2 USDC3
1INCH1inchEthereum75 1INCH3
ARBArbitrumEthereum15 ARB3
BNBBNBEthereum0.09 BNB3
cbBTCCoinbase Wrapped BTCEthereum0.00009 cbBTC3
DAIDaiEthereum15 DAI3
LINKChainlinkEthereum0.65 LINK3
mUSDMetaMask USDEthereum5 mUSD3
ONDOOndoEthereum10 ONDO3
PEPEPepeEthereum1000000 PEPE3
POLPolygonEthereum25 POL3
PYUSDPayPal USDEthereum2 PYUSD3
SHIBShiba InuEthereum1000000 SHIB3
TRXTronEthereum15 TRX3
USD1World Liberty Financial USDEthereum5 USD13
wXRPWrapped XRPEthereum6 wXRP3
XAUtTether GoldEthereum0.0015 XAUt3
BNBBNBBNB Smart Chain0.001 BNB15
USDTTetherBNB Smart Chain1 USDT15
USDCUSD CoinBNB Smart Chain1 USDC15
1INCH1inchBNB Smart Chain1 1INCH15
ADACardanoBNB Smart Chain1 ADA15
BTCBBitcoin (BTCB)BNB Smart Chain0.00008 BTCB15
CAKEPancakeSwapBNB Smart Chain0.1 CAKE15
DAIDaiBNB Smart Chain1 DAI15
DOGEDogecoinBNB Smart Chain10 DOGE15
ETHEtherBNB Smart Chain0.00075 ETH15
LTCLitecoinBNB Smart Chain0.002 LTC15
SHIBShiba InuBNB Smart Chain40000 SHIB15
TRXTronBNB Smart Chain5 TRX15
USD1World Liberty Financial USDBNB Smart Chain1 USD115
XRPXRPBNB Smart Chain2 XRP15
POLPOLPolygon0.5 POL64
USDTTetherPolygon0.5 USDT64
USDCUSD CoinPolygon0.5 USDC64
AVAXAvalanchePolygon0.04 AVAX64
USDC.eUSD Coin (Bridged)Polygon0.5 USDC.e64
WETHWrapped EtherPolygon0.0005 WETH64
ETHEtherBase0.0003 ETH10
USDCUSD CoinBase3 USDC10
cbBTCCoinbase Wrapped BTCBase0.00003 cbBTC10
cbLTCCoinbase Wrapped LTCBase0.05 cbLTC10
DAIDaiBase3 DAI10
USDTTetherBase3 USDT10
ETHEtherArbitrum0.0001 ETH20
USD₮0USD₮0Arbitrum1 USD₮020
USDCUSD CoinArbitrum1 USDC20
ARBArbitrumArbitrum0.5 ARB20
DAIDaiArbitrum0.5 DAI20
LINKChainlinkArbitrum0.05 LINK20
PEPEPepeArbitrum100000 PEPE20
PYUSDPayPal USDArbitrum1 PYUSD20
USDC.eUSD Coin (Bridged)Arbitrum1 USDC.e20
ETHEtherOptimism0.0001 ETH10
USDCUSD CoinOptimism1 USDC10
USDC.eUSD Coin (Bridged)Optimism1 USDC.e10
USDTTetherOptimism1 USDT10
USD₮0USD₮0Optimism1 USD₮010
DAIDaiOptimism0.5 DAI10
LINKChainlinkOptimism0.05 LINK10
OPOptimismOptimism0.3 OP10
AVAXAvalancheAvalanche0.01 AVAX3
USDCUSD CoinAvalanche1 USDC3
USDC.eUSD Coin (Bridged)Avalanche1 USDC.e3
USDTTetherAvalanche1 USDT3
WAVAXWrapped AVAXAvalanche0.01 WAVAX3
WETH.eWrapped EtherAvalanche0.001 WETH.e3
TRXTRXTron10 TRX19
BTCBitcoinTron0.00008 BTC19
TUSDTrueUSDTron5 TUSD19
USDDDecentralized USDTron5 USDD19
USDTTetherTron10 USDT19
BTCBitcoinBitcoin0.00008 BTC1
LTCLitecoinLitecoin0.002 LTC2
BCHBitcoin CashBitcoin Cash0.0005 BCH1
DOGEDogecoinDogecoin10 DOGE6
SOLSolanaSolana0.004 SOL1
USDCUSD CoinSolana1 USDC1
USDTTetherSolana1 USDT1
EURCEURCSolana1 EURC1
WBTCWrapped BTCSolana0.000009 WBTC1
cbBTCCoinbase Wrapped BTCSolana0.000009 cbBTC1
WETHWrapped Ether (Wormhole)Solana0.003 WETH1
TRUMPTrumpSolana0.05 TRUMP1
HNTHeliumSolana2.5 HNT1
wUSDTWormhole USDTSolana1 wUSDT1

Simple pricing

One percentage per payment, lower as your volume grows. Nothing else.

Per payment, from
  • No sign-up or monthly fee
  • No setup or withdrawal fee
  • Network cost passed on at cost
  • Tiers counted per destination wallet
Volume forwarded in 30 daysUnder $250k
1.25%
  1. 1.25%$0
  2. 1.1%$250k
  3. 1%$1M
  4. 0.85%$2.5M
  5. 0.7%$5M
  6. 0.5%$10M
  7. 0.25%$20M+

On a $1,000 payment, the fee is $12.50 and your wallet receives $987.50, before the network cost.

Frequently asked questions

Do I need an account or an API key?

No. Call /create/ with your callback URL and the wallet that should receive the money, and you get a deposit address back. The same callback URL always returns the same address.

Do you ever hold my funds?

Only for the minutes it takes to confirm. As soon as a payment has the confirmations its network requires, it is forwarded on-chain to your wallets. There is no balance to withdraw and nothing to freeze.

Who pays the network fee?

The payment does. For a native coin the gas comes out of the amount forwarded. For a token we send the gas ourselves and recover its cost in the token, at the market price, alongside our fee.

How do callbacks work?

If you ask for it, we call your URL when a payment arrives, then again once it is forwarded, with the transaction ids and amounts. Every request is signed with RSA-SHA256 in x-ca-signature, and retried from 6 minutes for 3 days until your server answers *ok*.

What happens below the minimum?

The payment is recorded and shown in /logs/, but never forwarded: each coin has a minimum so that the network cost can never eat the payment.

Can one address be paid more than once?

Yes. Addresses never expire, and every payment to one is forwarded and reported on its own, so one address per customer works as a permanent deposit address.

Do I need to run a node or hold coins for network fees?

No. We read every chain for you and pay the network cost out of the payment itself; for tokens, the gas is recovered in the token at market price. You only need a wallet address to receive the funds.

Do you handle recurring subscriptions?

We handle the payments; your app keeps the subscription logic, so billing works exactly your way. Give each customer a permanent address: every renewal they send triggers a signed callback, and your app extends the plan, applies grace days or upgrades. Crypto wallets cannot be debited automatically, so send a reminder before each due date.

Accept your first payment in one request

No sign-up. Put in your own wallet and callback URL, send it, and share the address you get back.

curl "https://api.trezorpay.com/trc20/usdt/create/?callback=https://your.shop/paid&address=YOUR_TRON_WALLET"