Transaction types
Some types carry a more specific
type that you send:
The
type decides the source tag on the value that arrives, and the tag decides what the receiving player can do with it later, including whether they can cash it out. You never set tags yourself.
What every transaction has in common
- One call, one transaction. Each call creates one transaction with a
transaction_id. Underneath, each movement of value is recorded separately, so a marketplace sale that pays a seller, a royalty holder, and you shows each payment on its own. - All or nothing. Every movement in a transaction settles together, or none of them do.
- One payer and one currency. A transaction always comes from one payer in one currency. To move value in two currencies, make two calls.
- Your backend decides. You make every call from your server. ZBD doesn’t decide when value moves, but it runs limits and checks on every transaction, and refuses one that doesn’t pass.
- Idempotent. Every call takes an
Idempotency-Key, so a retry never moves value twice. - Your reference. Send your own
reference_id, such as an order or match ID, to match transactions to your records.