Payments

Create a payment address

GET
/{ticker}/create/

Returns the deposit address your customer pays. The callback URL is the identity: calling again with the same callback returns the same address_in and the original address_out, whatever else you send. To change the destination, use a new callback URL. Addresses never expire and can receive many payments; each one is forwarded and reported on its own.

Path Parameters

ticker*string

Coin route: one segment for coins on their own chain (btc, ltc, bch, doge, eth, trx), otherwise {network}/{token} such as trc20/usdt, erc20/usdc, bep20/usdt, polygon/usdc, base/usdc, arbitrum/usdt0.

Value in"eth""erc20/usdt""erc20/usdc""erc20/1inch""erc20/arb""erc20/bnb""erc20/cbbtc""erc20/dai""erc20/link""erc20/musd""erc20/ondo""erc20/pepe""erc20/pol""erc20/pyusd""erc20/shib""erc20/trx""erc20/usd1""erc20/wxrp""erc20/xaut""bep20/bnb""bep20/usdt""bep20/usdc""bep20/1inch""bep20/ada""bep20/btcb""bep20/cake""bep20/dai""bep20/doge""bep20/eth""bep20/ltc""bep20/shib""bep20/trx""bep20/usd1""bep20/xrp""polygon/pol""polygon/usdt""polygon/usdc""polygon/avax""polygon/usdc.e""polygon/weth""base/eth""base/usdc""base/cbbtc""base/cbltc""base/dai""base/usdt""arbitrum/eth""arbitrum/usdt0""arbitrum/usdc""arbitrum/arb""arbitrum/dai""arbitrum/link""arbitrum/pepe""arbitrum/pyusd""arbitrum/usdc.e""optimism/eth""optimism/usdc""optimism/usdc.e""optimism/usdt""optimism/usdt0""optimism/dai""optimism/link""optimism/op""avax-c/avax""avax-c/usdc""avax-c/usdc.e""avax-c/usdt""avax-c/wavax""avax-c/weth.e""trx""trc20/btc""trc20/tusd""trc20/usdd""trc20/usdt""btc""ltc""bch""doge""sol/sol""sol/usdc""sol/usdt""sol/eurc""sol/wbtc""sol/cbbtc""sol/weth""sol/trump""sol/hnt""sol/wusdt"

Query Parameters

callback*string

Your URL, URL-encoded. Its own query parameters are sent back on every callback.

Formaturi
Lengthlength <= 8000
address*string

Wallet that receives the funds, or a split pct@address|pct@address (up to 20 outputs, shares from 0.0001 to 1 summing to 1).

pending?integer

1 to also be called when the payment is first seen, before it confirms.

Default0
Value in01
confirmations?integer

Confirmations before the confirmed callback. Raised to the network's safety floor.

Range1 <= value
Default1
post?integer

1 to receive callbacks as a POST form (application/x-www-form-urlencoded).

Default0
Value in01
json?integer

1 to receive callbacks as a POST JSON body.

Default0
Value in01
priority?string

Forwarding gas price tier. Honoured on Ethereum only; ignored elsewhere.

Default"default"
Value in"fast""default""economic""x-economic""xx-economic""xxx-economic""xxxx-economic"
multi_token?integer

1 to let this address accept every supported token of its network.

Default0
Value in01
convert?integer

1 to add fiat values (value_coin_convert, value_forwarded_coin_convert) to callbacks.

Default0
Value in01

Response Body

The deposit address.

application/json
  1. response
status?string
address_in?string

The address your customer pays.

address_out?string

Your wallet, or the split as {addr: share, …}.

callback_url?string
minimum_transaction_coin?string

Payments below this are recorded but never forwarded.

priority?string
Example Request
curl -X GET 'https://api.trezorpay.com/trc20/usdt/create/?callback=https%3A%2F%2Fshop.example%2Fpaid%3Forder%3D1042&address=TJzXZQhbhJB3dA2TmxmvyPxk2nKsmZ6yWf'
Example Response
{  "status": "success",  "address_in": "TN7Zbu4UwtKneYDJyDKXkSorVu95hsE3q4",  "address_out": "TJzXZQhbhJB3dA2TmxmvyPxk2nKsmZ6yWf",  "callback_url": "https://shop.example/paid?order=1042",  "minimum_transaction_coin": "10.00000000",  "priority": "default"}