API reference

Settlement and payouts

Every payment passes through VeliraPay on its way to you. This page says exactly what happens to it, and what is recorded at each step.

  1. 1 The charge gets an address of its own — Made for that one charge and never used again, which is how two customers paying you at the same moment are told apart without nudging the amounts.
  2. 2 The customer pays it — The payment is watched for on the chain and counted once it has the confirmations that coin needs.
  3. 3 The books are written — One settlement records what arrived, the fee, what you are owed and the address it is going to, as you had it configured at that moment.
  4. 4 The payout goes out — Usually within a minute. What it cost and what landed are written back against the same settlement.

Where your money goes

You give one payout address per network under Payment settings, and every coin on that network is paid to it. A network you have given no address for is not offered at checkout at all, because there would be nowhere to send the money.

Changing an address only affects payments made after the change: a payout already on its way keeps the address it was raised with, which is recorded on the settlement.

If you remove an address while a charge for that coin is still unpaid, and the customer then pays it, the money is still yours and is still recorded as owed to you. The settlement is written with no address and waits; the moment you give an address for that coin again, it is paid out on the next run. Nothing has to be claimed and nothing expires.

The fee

The free plan keeps 3% of each payment, taken out before the rest is forwarded. Pro keeps nothing. Whatever is taken is recorded against the charge in the coin it was paid in, and in your currency at the rate the charge was locked at.

What the network charges

Forwarding a payment costs a transaction fee on the chain itself. When a platform fee is being kept, that network fee comes out of it, so you receive exactly what you are owed. When no platform fee is being kept, there is nothing to take it from, so it comes out of the payment and you receive slightly less than the full amount. Either way, the exact figure is recorded.

Timing

Payouts are attempted every minute, so a confirmed payment normally reaches you within a minute or two. A chain that is busy or unreachable is retried after 1, 5, 15, 60 and 180 minutes; after that the payout waits for a person. Your money is not lost while that happens, it is still held and still owed, and the reason for each failure is recorded.

What is recorded

Each payment has one settlement, and every charge in the dashboard shows it. Nothing is ever deleted.

Field Type Beschreibung
gross_amount string What the customer actually paid, in the coin.
fee_amount, fee_percent string What was kept, and the rate it was worked out at. Always adds up to the gross with the net.
net_amount string What you are owed, before the chain's own fee.
payout_address string|null Where it was sent, as you had it configured when the charge was paid. Null when you had no address for the coin at that moment, in which case it waits for one.
payout_txid string|null The transaction that carried it, which you can follow on any block explorer.
network_fee, sent_amount string|null What the chain charged, and what therefore reached your address.
status string Whether the payout is awaiting sending, on its way, done, failed, or held because it has no address to go to.

Seeing your payouts

The Payouts page in your dashboard lists one row per paid charge, for the mode you are working in: what came in, the fee, what you are owed, what actually landed after the chain took its cut, where the payout has got to, and the transaction that carried it, linked to a block explorer. Each row opens the charge it came from.

You can narrow the list by status or by coin, and search it by charge code or payout hash. Above it, per coin, are the three figures that matter: what has been paid out to you, what is still owed, and what has been taken in fees.

A payment being held for want of an address is called out there in its own right rather than shown as merely waiting, with a link to Payment settings, because giving an address is what releases it.

Export CSV downloads the rows you are looking at, filters and all, with one line per settlement:

Field Type Beschreibung
charge, status, asset string The charge the payment was taken for, where its payout has got to, and the coin.
created_at, sent_at, confirmed_at string|null When the books were written, when the payout was broadcast, and when it confirmed.
gross_amount, fee_percent, fee_amount, net_amount string What came in, the rate the fee was worked out at, what was kept, and what you are owed.
network_fee, sent_amount string|null What the chain charged to forward it, and what therefore reached you.
fee_fiat_amount, fiat_currency, exchange_rate string|null What the fee was worth in your currency, at the rate the charge was locked at.
payout_address, payout_txid string|null Where it was sent and the transaction that carried it. Both empty while it waits for an address.
fee_address, fee_txid, fee_settled_at string|null Where our own share went once it was moved out of the hot wallet.
attempts, last_error int, string|null How many times forwarding has been tried, and why the last try did not work.

Who holds the money

VeliraPay holds the payment between the moment it confirms and the moment the payout is sent, which is normally a minute or two. It is not an account you keep a balance in: nothing is held back and there is no balance to withdraw, because every payment is forwarded as it arrives. The one exception is a coin you have given no address for, which is held, shown on your payouts page, and sent as soon as you give one.

Because a payment passes through us, a payout cannot be reversed once it is sent, and a refund is still something you send yourself from your own wallet and then record against the charge.