Payouts
Pay your balance out to your own wallets, singly or in batches, to destinations that wait before their first use.
On this page
A payout pays an asset you hold to one of your destinations. A new destination waits before it can be paid: 24 hours in live, 5 minutes in the sandbox. Its amount, Nowgate's payout fee and the network fee, quoted in the payout's own asset, are reserved from your available balance as soon as the payout is created. A payout that is canceled, or that fails, returns them.
Forwarding pays what arrives on by itself: a rule per asset sends each payment's credit, or your whole available balance once a day, to one of your destinations, the network fee coming out of it.
Every operation that moves money, or sets up its movement, needs a key with the payouts scope,
which is always bound to an IP allowlist.
List balances#
/v1/balancesAPI key, read scopeYour balance of every asset you hold: available is free to pay out, pending is credited on a network with depth-based finality (Bitcoin) but not yet at its settle depth, and reserved is held for payouts and refunds under way.
await nowgate.balances.list();client.balances.list()$nowgate->balances->list();Responses
200 Your balances, one per asset you have held.
The BalanceList object
object"list"requireddataarray of Balance (object)required5 fields of Balance
networkNetwork (string)requiredNetwork identifier; see GET /assets. New networks may be added.
assetAssetSymbol (string)requiredAsset symbol on the network; see GET /assets.
availableAmount (string)requiredFree to pay out.
pendingAmount (string)requiredCredited, not yet at the network's settle depth.
reservedAmount (string)requiredHeld for payouts and refunds under way.
4xx, 5xx An error, as problem details.
Add a payout destination#
/v1/payout-destinationsAPI key, payouts scopeAn address of yours that payouts can pay. A new destination waits before it can be paid: 24 hours in live, 5 minutes in the sandbox. destination.created reaches your webhook endpoint at once, so your own systems can raise an alarm about an address nobody meant to add, and destination.active follows when it can be paid. Adding an address you already have returns that destination with 200.
await nowgate.payoutDestinations.create({ … });client.payout_destinations.create(…)$nowgate->payoutDestinations->create([…]);Headers
Idempotency-KeystringrequiredA unique key for this request, such as a UUID: 1-255 visible ASCII characters, without spaces. Retrying with the same key and the same request replays the original response (for at least 24 hours); the same key with a different request is refused with
422 idempotency_key_reused. Failed requests are not stored, so they can be retried with the same key.1 to 255 characters. Pattern:
^[!-~]+$.
Body
networkNetwork (string)requiredNetwork identifier; see GET /assets. New networks may be added.
addressstringrequired1 to 128 characters.
memo_typeMemoType (string)A Stellar memo's type.
idis a number up to 2^64-1,textat most 28 bytes.One of:
id,text.memostringStellar only.
1 to 28 characters.
labelstring1 to 100 characters.
Responses
200 You already had this destination.
The PayoutDestination object
idPayoutDestinationID (string)requiredobject"payout_destination"requiredstatusstringrequiredOne of:
pending,active,disabled.networkNetwork (string)requiredNetwork identifier; see GET /assets. New networks may be added.
addressstringrequiredThe address in its canonical form.
memo_typeMemoType (string)A Stellar memo's type.
idis a number up to 2^64-1,textat most 28 bytes.One of:
id,text.memostringlabelstringkindstringrequiredrefundwhen a payer gave it for a refund.One of:
payout,refund.active_atTimestamp (string (date-time))requiredWhen it became, or will become, payable.
created_atTimestamp (string (date-time))requireddisabled_atTimestamp (string (date-time))
201 The destination, waiting until it can be paid.
The PayoutDestination object
idPayoutDestinationID (string)requiredobject"payout_destination"requiredstatusstringrequiredOne of:
pending,active,disabled.networkNetwork (string)requiredNetwork identifier; see GET /assets. New networks may be added.
addressstringrequiredThe address in its canonical form.
memo_typeMemoType (string)A Stellar memo's type.
idis a number up to 2^64-1,textat most 28 bytes.One of:
id,text.memostringlabelstringkindstringrequiredrefundwhen a payer gave it for a refund.One of:
payout,refund.active_atTimestamp (string (date-time))requiredWhen it became, or will become, payable.
created_atTimestamp (string (date-time))requireddisabled_atTimestamp (string (date-time))
4xx, 5xx An error, as problem details.
Retrieve a payout destination#
/v1/payout-destinations/{id}API key, read scopeawait nowgate.payoutDestinations.retrieve(id);client.payout_destinations.retrieve(id)$nowgate->payoutDestinations->retrieve($id);Path parameters
idPayoutDestinationID (string)required
Responses
200 The destination.
The PayoutDestination object
idPayoutDestinationID (string)requiredobject"payout_destination"requiredstatusstringrequiredOne of:
pending,active,disabled.networkNetwork (string)requiredNetwork identifier; see GET /assets. New networks may be added.
addressstringrequiredThe address in its canonical form.
memo_typeMemoType (string)A Stellar memo's type.
idis a number up to 2^64-1,textat most 28 bytes.One of:
id,text.memostringlabelstringkindstringrequiredrefundwhen a payer gave it for a refund.One of:
payout,refund.active_atTimestamp (string (date-time))requiredWhen it became, or will become, payable.
created_atTimestamp (string (date-time))requireddisabled_atTimestamp (string (date-time))
4xx, 5xx An error, as problem details.
List payout destinations#
/v1/payout-destinationsAPI key, read scopeawait nowgate.payoutDestinations.list({ … });
for await (const item of nowgate.payoutDestinations.listAll({ … })) { … }client.payout_destinations.list(…)
for item in client.payout_destinations.list_all(…): …$nowgate->payoutDestinations->list([…]);
foreach ($nowgate->payoutDestinations->listAll([…]) as $item) { … }Query parameters
limitintegerFrom 1 to 100. Default:
20.starting_afterPayoutDestinationID (string)Return the page after (older than) this ID.
ending_beforePayoutDestinationID (string)Return the page before (newer than) this ID.
Responses
200 A page of destinations, newest first.
The PayoutDestinationList object
object"list"requireddataarray of PayoutDestination (object)required12 fields of PayoutDestination
idPayoutDestinationID (string)requiredobject"payout_destination"requiredstatusstringrequiredOne of:
pending,active,disabled.networkNetwork (string)requiredNetwork identifier; see GET /assets. New networks may be added.
addressstringrequiredThe address in its canonical form.
memo_typeMemoType (string)A Stellar memo's type.
idis a number up to 2^64-1,textat most 28 bytes.One of:
id,text.memostringlabelstringkindstringrequiredrefundwhen a payer gave it for a refund.One of:
payout,refund.active_atTimestamp (string (date-time))requiredWhen it became, or will become, payable.
created_atTimestamp (string (date-time))requireddisabled_atTimestamp (string (date-time))
has_morebooleanrequired
4xx, 5xx An error, as problem details.
Disable a payout destination#
/v1/payout-destinations/{id}API key, payouts scopeDisables the destination at once. Payouts to it that haven't been sent fail with destination_disabled, and their amounts return to your available balance. A payout already sent can't be stopped. To pay the address again, add it again: it waits like any new destination.
await nowgate.payoutDestinations.disable(id);client.payout_destinations.disable(id)$nowgate->payoutDestinations->disable($id);Path parameters
idPayoutDestinationID (string)required
Responses
200 The disabled destination.
The PayoutDestination object
idPayoutDestinationID (string)requiredobject"payout_destination"requiredstatusstringrequiredOne of:
pending,active,disabled.networkNetwork (string)requiredNetwork identifier; see GET /assets. New networks may be added.
addressstringrequiredThe address in its canonical form.
memo_typeMemoType (string)A Stellar memo's type.
idis a number up to 2^64-1,textat most 28 bytes.One of:
id,text.memostringlabelstringkindstringrequiredrefundwhen a payer gave it for a refund.One of:
payout,refund.active_atTimestamp (string (date-time))requiredWhen it became, or will become, payable.
created_atTimestamp (string (date-time))requireddisabled_atTimestamp (string (date-time))
4xx, 5xx An error, as problem details.
Create a payout#
/v1/payoutsAPI key, payouts scopePays an amount of an asset you hold to one of your destinations, given by its ID or by its address (a new address becomes a destination, and waits). The amount is reserved from your available balance at once. network_fee is quoted in the payout's own asset now and never changes; by default you pay it on top (fee_paid_by: merchant), or it comes out of the amount (payee).
await nowgate.payouts.create({ … });client.payouts.create(…)$nowgate->payouts->create([…]);Headers
Idempotency-KeystringrequiredA unique key for this request, such as a UUID: 1-255 visible ASCII characters, without spaces. Retrying with the same key and the same request replays the original response (for at least 24 hours); the same key with a different request is refused with
422 idempotency_key_reused. Failed requests are not stored, so they can be retried with the same key.1 to 255 characters. Pattern:
^[!-~]+$.
Body
destinationPayoutDestinationID (string)One of your destinations; or give
address(andmemo_typeandmemo) instead.networkNetwork (string)requiredNetwork identifier; see GET /assets. New networks may be added.
assetAssetSymbol (string)requiredAsset symbol on the network; see GET /assets.
addressstring1 to 128 characters.
memo_typeMemoType (string)A Stellar memo's type.
idis a number up to 2^64-1,textat most 28 bytes.One of:
id,text.memostring1 to 28 characters.
amountAmount (string)requiredA non-negative decimal amount in the asset's units, e.g. "12.5".
fee_paid_byPayoutFeePaidBy (string)Who pays the network fee:
merchanton top of the amount (the destination gets the whole amount), orpayeeout of it.One of:
merchant,payee.external_idstringYour own reference, unique among your payouts.
1 to 100 characters.
webhook_urlstringThis payout's events go here instead, signed with your default endpoint's secret.
send_atTimestamp (string (date-time))Send no earlier than this, at most 30 days ahead.
metadatamap of string
Responses
201 The payout.
The Payout object
idPayoutID (string)requiredobject"payout"requiredstatusPayoutStatus (string)requiredOne of:
awaiting_address,awaiting_approval,scheduled,waiting_destination,queued,sending,finished,failed,canceled.networkNetwork (string)requiredNetwork identifier; see GET /assets. New networks may be added.
assetAssetSymbol (string)requiredAsset symbol on the network; see GET /assets.
amountAmount (string)requiredA non-negative decimal amount in the asset's units, e.g. "12.5".
amount_sentAmount (string)requiredWhat the destination gets.
network_feeAmount (string)requiredThe network fee, quoted in this asset when the payout was created.
payout_feeAmount (string)requiredNowgate's payout fee.
amount_debitedAmount (string)requiredWhat your balance pays for it.
fee_paid_byPayoutFeePaidBy (string)requiredWho pays the network fee:
merchanton top of the amount (the destination gets the whole amount), orpayeeout of it.One of:
merchant,payee.destinationPayoutDestination (object)required12 fields of PayoutDestination
idPayoutDestinationID (string)requiredobject"payout_destination"requiredstatusstringrequiredOne of:
pending,active,disabled.networkNetwork (string)requiredNetwork identifier; see GET /assets. New networks may be added.
addressstringrequiredThe address in its canonical form.
memo_typeMemoType (string)A Stellar memo's type.
idis a number up to 2^64-1,textat most 28 bytes.One of:
id,text.memostringlabelstringkindstringrequiredrefundwhen a payer gave it for a refund.One of:
payout,refund.active_atTimestamp (string (date-time))requiredWhen it became, or will become, payable.
created_atTimestamp (string (date-time))requireddisabled_atTimestamp (string (date-time))
waiting_reasonstringPresent on a queued payout that is waiting for something on Nowgate's side.
One of:
liquidity,gas_funding,fees,signer_limit.failure_reasonstringPresent on a failed payout.
external_idstringbatchPayoutBatchID (string)send_atTimestamp (string (date-time))approved_atTimestamp (string (date-time))transactionstringThe transaction that carries it
metadatamap of stringrequiredcreated_atTimestamp (string (date-time))requiredupdated_atTimestamp (string (date-time))requiredclosed_atTimestamp (string (date-time))versioninteger (int64)requiredIncreases with every change; use it to ignore stale webhook events.
4xx, 5xx An error, as problem details.
Retrieve a payout#
/v1/payouts/{id}API key, read scopeawait nowgate.payouts.retrieve(id);client.payouts.retrieve(id)$nowgate->payouts->retrieve($id);Path parameters
idPayoutID (string)required
Responses
200 The payout.
The Payout object
idPayoutID (string)requiredobject"payout"requiredstatusPayoutStatus (string)requiredOne of:
awaiting_address,awaiting_approval,scheduled,waiting_destination,queued,sending,finished,failed,canceled.networkNetwork (string)requiredNetwork identifier; see GET /assets. New networks may be added.
assetAssetSymbol (string)requiredAsset symbol on the network; see GET /assets.
amountAmount (string)requiredA non-negative decimal amount in the asset's units, e.g. "12.5".
amount_sentAmount (string)requiredWhat the destination gets.
network_feeAmount (string)requiredThe network fee, quoted in this asset when the payout was created.
payout_feeAmount (string)requiredNowgate's payout fee.
amount_debitedAmount (string)requiredWhat your balance pays for it.
fee_paid_byPayoutFeePaidBy (string)requiredWho pays the network fee:
merchanton top of the amount (the destination gets the whole amount), orpayeeout of it.One of:
merchant,payee.destinationPayoutDestination (object)required12 fields of PayoutDestination
idPayoutDestinationID (string)requiredobject"payout_destination"requiredstatusstringrequiredOne of:
pending,active,disabled.networkNetwork (string)requiredNetwork identifier; see GET /assets. New networks may be added.
addressstringrequiredThe address in its canonical form.
memo_typeMemoType (string)A Stellar memo's type.
idis a number up to 2^64-1,textat most 28 bytes.One of:
id,text.memostringlabelstringkindstringrequiredrefundwhen a payer gave it for a refund.One of:
payout,refund.active_atTimestamp (string (date-time))requiredWhen it became, or will become, payable.
created_atTimestamp (string (date-time))requireddisabled_atTimestamp (string (date-time))
waiting_reasonstringPresent on a queued payout that is waiting for something on Nowgate's side.
One of:
liquidity,gas_funding,fees,signer_limit.failure_reasonstringPresent on a failed payout.
external_idstringbatchPayoutBatchID (string)send_atTimestamp (string (date-time))approved_atTimestamp (string (date-time))transactionstringThe transaction that carries it
metadatamap of stringrequiredcreated_atTimestamp (string (date-time))requiredupdated_atTimestamp (string (date-time))requiredclosed_atTimestamp (string (date-time))versioninteger (int64)requiredIncreases with every change; use it to ignore stale webhook events.
4xx, 5xx An error, as problem details.
List payouts#
/v1/payoutsAPI key, read scopeawait nowgate.payouts.list({ … });
for await (const item of nowgate.payouts.listAll({ … })) { … }client.payouts.list(…)
for item in client.payouts.list_all(…): …$nowgate->payouts->list([…]);
foreach ($nowgate->payouts->listAll([…]) as $item) { … }Query parameters
limitintegerFrom 1 to 100. Default:
20.starting_afterPayoutID (string)Return the page after (older than) this ID.
ending_beforePayoutID (string)Return the page before (newer than) this ID.
statusPayoutStatus (string)One of:
awaiting_address,awaiting_approval,scheduled,waiting_destination,queued,sending,finished,failed,canceled.batchPayoutBatchID (string)
Responses
200 A page of payouts, newest first.
The PayoutList object
object"list"requireddataarray of Payout (object)required24 fields of Payout
idPayoutID (string)requiredobject"payout"requiredstatusPayoutStatus (string)requiredOne of:
awaiting_address,awaiting_approval,scheduled,waiting_destination,queued,sending,finished,failed,canceled.networkNetwork (string)requiredNetwork identifier; see GET /assets. New networks may be added.
assetAssetSymbol (string)requiredAsset symbol on the network; see GET /assets.
amountAmount (string)requiredA non-negative decimal amount in the asset's units, e.g. "12.5".
amount_sentAmount (string)requiredWhat the destination gets.
network_feeAmount (string)requiredThe network fee, quoted in this asset when the payout was created.
payout_feeAmount (string)requiredNowgate's payout fee.
amount_debitedAmount (string)requiredWhat your balance pays for it.
fee_paid_byPayoutFeePaidBy (string)requiredWho pays the network fee:
merchanton top of the amount (the destination gets the whole amount), orpayeeout of it.One of:
merchant,payee.destinationPayoutDestination (object)required12 fields of PayoutDestination
idPayoutDestinationID (string)requiredobject"payout_destination"requiredstatusstringrequiredOne of:
pending,active,disabled.networkNetwork (string)requiredNetwork identifier; see GET /assets. New networks may be added.
addressstringrequiredThe address in its canonical form.
memo_typeMemoType (string)A Stellar memo's type.
idis a number up to 2^64-1,textat most 28 bytes.One of:
id,text.memostringlabelstringkindstringrequiredrefundwhen a payer gave it for a refund.One of:
payout,refund.active_atTimestamp (string (date-time))requiredWhen it became, or will become, payable.
created_atTimestamp (string (date-time))requireddisabled_atTimestamp (string (date-time))
waiting_reasonstringPresent on a queued payout that is waiting for something on Nowgate's side.
One of:
liquidity,gas_funding,fees,signer_limit.failure_reasonstringPresent on a failed payout.
external_idstringbatchPayoutBatchID (string)send_atTimestamp (string (date-time))approved_atTimestamp (string (date-time))transactionstringThe transaction that carries it
metadatamap of stringrequiredcreated_atTimestamp (string (date-time))requiredupdated_atTimestamp (string (date-time))requiredclosed_atTimestamp (string (date-time))versioninteger (int64)requiredIncreases with every change; use it to ignore stale webhook events.
has_morebooleanrequired
4xx, 5xx An error, as problem details.
Cancel a payout#
/v1/payouts/{id}/cancelAPI key, payouts scopeCancels a payout that hasn't been sent yet, and returns its reserved amount to your available balance. A payout being sent can't be canceled (payout_not_cancelable).
await nowgate.payouts.cancel(id);client.payouts.cancel(id)$nowgate->payouts->cancel($id);Headers
Idempotency-KeystringrequiredA unique key for this request, such as a UUID: 1-255 visible ASCII characters, without spaces. Retrying with the same key and the same request replays the original response (for at least 24 hours); the same key with a different request is refused with
422 idempotency_key_reused. Failed requests are not stored, so they can be retried with the same key.1 to 255 characters. Pattern:
^[!-~]+$.
Path parameters
idPayoutID (string)required
Responses
200 The canceled payout.
The Payout object
idPayoutID (string)requiredobject"payout"requiredstatusPayoutStatus (string)requiredOne of:
awaiting_address,awaiting_approval,scheduled,waiting_destination,queued,sending,finished,failed,canceled.networkNetwork (string)requiredNetwork identifier; see GET /assets. New networks may be added.
assetAssetSymbol (string)requiredAsset symbol on the network; see GET /assets.
amountAmount (string)requiredA non-negative decimal amount in the asset's units, e.g. "12.5".
amount_sentAmount (string)requiredWhat the destination gets.
network_feeAmount (string)requiredThe network fee, quoted in this asset when the payout was created.
payout_feeAmount (string)requiredNowgate's payout fee.
amount_debitedAmount (string)requiredWhat your balance pays for it.
fee_paid_byPayoutFeePaidBy (string)requiredWho pays the network fee:
merchanton top of the amount (the destination gets the whole amount), orpayeeout of it.One of:
merchant,payee.destinationPayoutDestination (object)required12 fields of PayoutDestination
idPayoutDestinationID (string)requiredobject"payout_destination"requiredstatusstringrequiredOne of:
pending,active,disabled.networkNetwork (string)requiredNetwork identifier; see GET /assets. New networks may be added.
addressstringrequiredThe address in its canonical form.
memo_typeMemoType (string)A Stellar memo's type.
idis a number up to 2^64-1,textat most 28 bytes.One of:
id,text.memostringlabelstringkindstringrequiredrefundwhen a payer gave it for a refund.One of:
payout,refund.active_atTimestamp (string (date-time))requiredWhen it became, or will become, payable.
created_atTimestamp (string (date-time))requireddisabled_atTimestamp (string (date-time))
waiting_reasonstringPresent on a queued payout that is waiting for something on Nowgate's side.
One of:
liquidity,gas_funding,fees,signer_limit.failure_reasonstringPresent on a failed payout.
external_idstringbatchPayoutBatchID (string)send_atTimestamp (string (date-time))approved_atTimestamp (string (date-time))transactionstringThe transaction that carries it
metadatamap of stringrequiredcreated_atTimestamp (string (date-time))requiredupdated_atTimestamp (string (date-time))requiredclosed_atTimestamp (string (date-time))versioninteger (int64)requiredIncreases with every change; use it to ignore stale webhook events.
4xx, 5xx An error, as problem details.
Create a batch of payouts#
/v1/payout-batchesAPI key, payouts scopeUp to 1,000 payouts at once, as items or as CSV text in csv (at most 256 KiB). The CSV's header row names its columns, in this order: network, asset, address, memo_type, memo, amount, fee_paid_by and external_id. Every item is checked before any is created: one bad item refuses the whole batch with invalid_items, listing every item's problem. Your limits apply to the batch's total, and its amounts are reserved together. Each item becomes a payout with its own ID and events. This request may be up to 512 KiB.
await nowgate.payoutBatches.create({ … });client.payout_batches.create(…)$nowgate->payoutBatches->create([…]);Headers
Idempotency-KeystringrequiredA unique key for this request, such as a UUID: 1-255 visible ASCII characters, without spaces. Retrying with the same key and the same request replays the original response (for at least 24 hours); the same key with a different request is refused with
422 idempotency_key_reused. Failed requests are not stored, so they can be retried with the same key.1 to 255 characters. Pattern:
^[!-~]+$.
Body
itemsarray of PayoutBatchItem (object)11 fields of PayoutBatchItem
destinationPayoutDestinationID (string)networkNetwork (string)requiredNetwork identifier; see GET /assets. New networks may be added.
assetAssetSymbol (string)requiredAsset symbol on the network; see GET /assets.
addressstring1 to 128 characters.
memo_typeMemoType (string)A Stellar memo's type.
idis a number up to 2^64-1,textat most 28 bytes.One of:
id,text.memostring1 to 28 characters.
amountAmount (string)requiredA non-negative decimal amount in the asset's units, e.g. "12.5".
fee_paid_byPayoutFeePaidBy (string)Who pays the network fee:
merchanton top of the amount (the destination gets the whole amount), orpayeeout of it.One of:
merchant,payee.external_idstring1 to 100 characters.
webhook_urlstringmetadatamap of string
csvstringThe batch as CSV, its header row naming the columns as the operation describes.
At most 262144 characters.
send_atTimestamp (string (date-time))
Responses
201 The batch, with its payouts.
The PayoutBatch object
idPayoutBatchID (string)requiredobject"payout_batch"requiredformatstringrequiredOne of:
json,csv.item_countintegerrequiredcountsmap of integerrequiredThe items' counts, by status.
send_atTimestamp (string (date-time))created_atTimestamp (string (date-time))requiredfinished_atTimestamp (string (date-time))When its last item became final.
itemsarray of Payout (object)The batch's payouts, in the order given; only in the creating response.
24 fields of Payout
idPayoutID (string)requiredobject"payout"requiredstatusPayoutStatus (string)requiredOne of:
awaiting_address,awaiting_approval,scheduled,waiting_destination,queued,sending,finished,failed,canceled.networkNetwork (string)requiredNetwork identifier; see GET /assets. New networks may be added.
assetAssetSymbol (string)requiredAsset symbol on the network; see GET /assets.
amountAmount (string)requiredA non-negative decimal amount in the asset's units, e.g. "12.5".
amount_sentAmount (string)requiredWhat the destination gets.
network_feeAmount (string)requiredThe network fee, quoted in this asset when the payout was created.
payout_feeAmount (string)requiredNowgate's payout fee.
amount_debitedAmount (string)requiredWhat your balance pays for it.
fee_paid_byPayoutFeePaidBy (string)requiredWho pays the network fee:
merchanton top of the amount (the destination gets the whole amount), orpayeeout of it.One of:
merchant,payee.destinationPayoutDestination (object)required12 fields of PayoutDestination
idPayoutDestinationID (string)requiredobject"payout_destination"requiredstatusstringrequiredOne of:
pending,active,disabled.networkNetwork (string)requiredNetwork identifier; see GET /assets. New networks may be added.
addressstringrequiredThe address in its canonical form.
memo_typeMemoType (string)A Stellar memo's type.
idis a number up to 2^64-1,textat most 28 bytes.One of:
id,text.memostringlabelstringkindstringrequiredrefundwhen a payer gave it for a refund.One of:
payout,refund.active_atTimestamp (string (date-time))requiredWhen it became, or will become, payable.
created_atTimestamp (string (date-time))requireddisabled_atTimestamp (string (date-time))
waiting_reasonstringPresent on a queued payout that is waiting for something on Nowgate's side.
One of:
liquidity,gas_funding,fees,signer_limit.failure_reasonstringPresent on a failed payout.
external_idstringbatchPayoutBatchID (string)send_atTimestamp (string (date-time))approved_atTimestamp (string (date-time))transactionstringThe transaction that carries it
metadatamap of stringrequiredcreated_atTimestamp (string (date-time))requiredupdated_atTimestamp (string (date-time))requiredclosed_atTimestamp (string (date-time))versioninteger (int64)requiredIncreases with every change; use it to ignore stale webhook events.
4xx, 5xx An error, as problem details.
Retrieve a payout batch#
/v1/payout-batches/{id}API key, read scopeawait nowgate.payoutBatches.retrieve(id);client.payout_batches.retrieve(id)$nowgate->payoutBatches->retrieve($id);Path parameters
idPayoutBatchID (string)required
Responses
200 The batch, with its items' counts by status. List its payouts with `GET /payouts?batch=`.
The PayoutBatch object
idPayoutBatchID (string)requiredobject"payout_batch"requiredformatstringrequiredOne of:
json,csv.item_countintegerrequiredcountsmap of integerrequiredThe items' counts, by status.
send_atTimestamp (string (date-time))created_atTimestamp (string (date-time))requiredfinished_atTimestamp (string (date-time))When its last item became final.
itemsarray of Payout (object)The batch's payouts, in the order given; only in the creating response.
24 fields of Payout
idPayoutID (string)requiredobject"payout"requiredstatusPayoutStatus (string)requiredOne of:
awaiting_address,awaiting_approval,scheduled,waiting_destination,queued,sending,finished,failed,canceled.networkNetwork (string)requiredNetwork identifier; see GET /assets. New networks may be added.
assetAssetSymbol (string)requiredAsset symbol on the network; see GET /assets.
amountAmount (string)requiredA non-negative decimal amount in the asset's units, e.g. "12.5".
amount_sentAmount (string)requiredWhat the destination gets.
network_feeAmount (string)requiredThe network fee, quoted in this asset when the payout was created.
payout_feeAmount (string)requiredNowgate's payout fee.
amount_debitedAmount (string)requiredWhat your balance pays for it.
fee_paid_byPayoutFeePaidBy (string)requiredWho pays the network fee:
merchanton top of the amount (the destination gets the whole amount), orpayeeout of it.One of:
merchant,payee.destinationPayoutDestination (object)required12 fields of PayoutDestination
idPayoutDestinationID (string)requiredobject"payout_destination"requiredstatusstringrequiredOne of:
pending,active,disabled.networkNetwork (string)requiredNetwork identifier; see GET /assets. New networks may be added.
addressstringrequiredThe address in its canonical form.
memo_typeMemoType (string)A Stellar memo's type.
idis a number up to 2^64-1,textat most 28 bytes.One of:
id,text.memostringlabelstringkindstringrequiredrefundwhen a payer gave it for a refund.One of:
payout,refund.active_atTimestamp (string (date-time))requiredWhen it became, or will become, payable.
created_atTimestamp (string (date-time))requireddisabled_atTimestamp (string (date-time))
waiting_reasonstringPresent on a queued payout that is waiting for something on Nowgate's side.
One of:
liquidity,gas_funding,fees,signer_limit.failure_reasonstringPresent on a failed payout.
external_idstringbatchPayoutBatchID (string)send_atTimestamp (string (date-time))approved_atTimestamp (string (date-time))transactionstringThe transaction that carries it
metadatamap of stringrequiredcreated_atTimestamp (string (date-time))requiredupdated_atTimestamp (string (date-time))requiredclosed_atTimestamp (string (date-time))versioninteger (int64)requiredIncreases with every change; use it to ignore stale webhook events.
4xx, 5xx An error, as problem details.
List payout batches#
/v1/payout-batchesAPI key, read scopeawait nowgate.payoutBatches.list({ … });
for await (const item of nowgate.payoutBatches.listAll({ … })) { … }client.payout_batches.list(…)
for item in client.payout_batches.list_all(…): …$nowgate->payoutBatches->list([…]);
foreach ($nowgate->payoutBatches->listAll([…]) as $item) { … }Query parameters
limitintegerFrom 1 to 100. Default:
20.starting_afterPayoutBatchID (string)Return the page after (older than) this ID.
ending_beforePayoutBatchID (string)Return the page before (newer than) this ID.
Responses
200 A page of batches, newest first.
The PayoutBatchList object
object"list"requireddataarray of PayoutBatch (object)required9 fields of PayoutBatch
idPayoutBatchID (string)requiredobject"payout_batch"requiredformatstringrequiredOne of:
json,csv.item_countintegerrequiredcountsmap of integerrequiredThe items' counts, by status.
send_atTimestamp (string (date-time))created_atTimestamp (string (date-time))requiredfinished_atTimestamp (string (date-time))When its last item became final.
itemsarray of Payout (object)The batch's payouts, in the order given; only in the creating response.
24 fields of Payout
idPayoutID (string)requiredobject"payout"requiredstatusPayoutStatus (string)requiredOne of:
awaiting_address,awaiting_approval,scheduled,waiting_destination,queued,sending,finished,failed,canceled.networkNetwork (string)requiredNetwork identifier; see GET /assets. New networks may be added.
assetAssetSymbol (string)requiredAsset symbol on the network; see GET /assets.
amountAmount (string)requiredA non-negative decimal amount in the asset's units, e.g. "12.5".
amount_sentAmount (string)requiredWhat the destination gets.
network_feeAmount (string)requiredThe network fee, quoted in this asset when the payout was created.
payout_feeAmount (string)requiredNowgate's payout fee.
amount_debitedAmount (string)requiredWhat your balance pays for it.
fee_paid_byPayoutFeePaidBy (string)requiredWho pays the network fee:
merchanton top of the amount (the destination gets the whole amount), orpayeeout of it.One of:
merchant,payee.destinationPayoutDestination (object)required12 fields of PayoutDestination
idPayoutDestinationID (string)requiredobject"payout_destination"requiredstatusstringrequiredOne of:
pending,active,disabled.networkNetwork (string)requiredNetwork identifier; see GET /assets. New networks may be added.
addressstringrequiredThe address in its canonical form.
memo_typeMemoType (string)A Stellar memo's type.
idis a number up to 2^64-1,textat most 28 bytes.One of:
id,text.memostringlabelstringkindstringrequiredrefundwhen a payer gave it for a refund.One of:
payout,refund.active_atTimestamp (string (date-time))requiredWhen it became, or will become, payable.
created_atTimestamp (string (date-time))requireddisabled_atTimestamp (string (date-time))
waiting_reasonstringPresent on a queued payout that is waiting for something on Nowgate's side.
One of:
liquidity,gas_funding,fees,signer_limit.failure_reasonstringPresent on a failed payout.
external_idstringbatchPayoutBatchID (string)send_atTimestamp (string (date-time))approved_atTimestamp (string (date-time))transactionstringThe transaction that carries it
metadatamap of stringrequiredcreated_atTimestamp (string (date-time))requiredupdated_atTimestamp (string (date-time))requiredclosed_atTimestamp (string (date-time))versioninteger (int64)requiredIncreases with every change; use it to ignore stale webhook events.
has_morebooleanrequired
4xx, 5xx An error, as problem details.
Retrieve your forwarding rules#
/v1/forwardingAPI key, read scopeYour forwarding rules, one per asset you forward.
await nowgate.forwarding.retrieve();client.forwarding.retrieve()$nowgate->forwarding->retrieve();Responses
200 Your rules.
The Forwarding object
object"forwarding"Ignored in a request.
rulesarray of ForwardingRule (object)required8 fields of ForwardingRule
networkNetwork (string)requiredNetwork identifier; see GET /assets. New networks may be added.
assetAssetSymbol (string)requiredAsset symbol on the network; see GET /assets.
destinationPayoutDestinationID (string)requiredAn active destination of yours on the asset's network.
modeForwardingMode (string)requiredpaymentforwards each payment's credit;dailythe whole available balance once a day.One of:
payment,daily.hourintegerThe hour, UTC, of a
dailyrule; not given forpayment.From 0 to 23.
min_amountAmount (string)Nothing smaller is forwarded (default 0); it stays in your balance.
created_atTimestamp (string (date-time))When the rule was first set; ignored in a request.
updated_atTimestamp (string (date-time))When it last changed; ignored in a request.
4xx, 5xx An error, as problem details.
Set your forwarding rules#
/v1/forwardingAPI key, payouts scopeReplaces your forwarding rules with these, all at once (an empty list stops forwarding). A rule forwards an asset to one of your active destinations: in payment mode each payment's credit as it reaches your available balance, in daily mode your whole available balance once a day at hour UTC. Nothing under min_amount is forwarded. Forwarding payouts are ordinary payouts with source: forwarding; the network fee comes out of them (fee_paid_by: payee), and they never wait for approval.
await nowgate.forwarding.update({ … });client.forwarding.update(…)$nowgate->forwarding->update([…]);Body
object"forwarding"Ignored in a request.
rulesarray of ForwardingRule (object)required8 fields of ForwardingRule
networkNetwork (string)requiredNetwork identifier; see GET /assets. New networks may be added.
assetAssetSymbol (string)requiredAsset symbol on the network; see GET /assets.
destinationPayoutDestinationID (string)requiredAn active destination of yours on the asset's network.
modeForwardingMode (string)requiredpaymentforwards each payment's credit;dailythe whole available balance once a day.One of:
payment,daily.hourintegerThe hour, UTC, of a
dailyrule; not given forpayment.From 0 to 23.
min_amountAmount (string)Nothing smaller is forwarded (default 0); it stays in your balance.
created_atTimestamp (string (date-time))When the rule was first set; ignored in a request.
updated_atTimestamp (string (date-time))When it last changed; ignored in a request.
Responses
200 Your rules as set.
The Forwarding object
object"forwarding"Ignored in a request.
rulesarray of ForwardingRule (object)required8 fields of ForwardingRule
networkNetwork (string)requiredNetwork identifier; see GET /assets. New networks may be added.
assetAssetSymbol (string)requiredAsset symbol on the network; see GET /assets.
destinationPayoutDestinationID (string)requiredAn active destination of yours on the asset's network.
modeForwardingMode (string)requiredpaymentforwards each payment's credit;dailythe whole available balance once a day.One of:
payment,daily.hourintegerThe hour, UTC, of a
dailyrule; not given forpayment.From 0 to 23.
min_amountAmount (string)Nothing smaller is forwarded (default 0); it stays in your balance.
created_atTimestamp (string (date-time))When the rule was first set; ignored in a request.
updated_atTimestamp (string (date-time))When it last changed; ignored in a request.
4xx, 5xx An error, as problem details.
Payout events#
your endpoint (you choose the URL)Sent by NowgateNowgate POSTs payout.created, then payout.<status> on every change of a payout's status, signed and retried as payment events are. A payout with its own webhook_url sends its events there instead.
Headers
Nowgate-SignaturestringrequiredNowgate-Event-IdEventID (string)required
Body
idEventID (string)requiredobject"event"requiredtypestringrequiredpayout.created or payout.<status>.
Example:
"payout.finished".api_versionstringrequiredExample:
"2026-11-01".environmentstringrequiredOne of:
live,sandbox,dev,test.created_atTimestamp (string (date-time))requireddataobjectrequired1 fields
objectPayout (object)required24 fields of Payout
idPayoutID (string)requiredobject"payout"requiredstatusPayoutStatus (string)requiredOne of:
awaiting_address,awaiting_approval,scheduled,waiting_destination,queued,sending,finished,failed,canceled.networkNetwork (string)requiredNetwork identifier; see GET /assets. New networks may be added.
assetAssetSymbol (string)requiredAsset symbol on the network; see GET /assets.
amountAmount (string)requiredA non-negative decimal amount in the asset's units, e.g. "12.5".
amount_sentAmount (string)requiredWhat the destination gets.
network_feeAmount (string)requiredThe network fee, quoted in this asset when the payout was created.
payout_feeAmount (string)requiredNowgate's payout fee.
amount_debitedAmount (string)requiredWhat your balance pays for it.
fee_paid_byPayoutFeePaidBy (string)requiredWho pays the network fee:
merchanton top of the amount (the destination gets the whole amount), orpayeeout of it.One of:
merchant,payee.destinationPayoutDestination (object)required12 fields of PayoutDestination
idPayoutDestinationID (string)requiredobject"payout_destination"requiredstatusstringrequiredOne of:
pending,active,disabled.networkNetwork (string)requiredNetwork identifier; see GET /assets. New networks may be added.
addressstringrequiredThe address in its canonical form.
memo_typeMemoType (string)A Stellar memo's type.
idis a number up to 2^64-1,textat most 28 bytes.One of:
id,text.memostringlabelstringkindstringrequiredrefundwhen a payer gave it for a refund.One of:
payout,refund.active_atTimestamp (string (date-time))requiredWhen it became, or will become, payable.
created_atTimestamp (string (date-time))requireddisabled_atTimestamp (string (date-time))
waiting_reasonstringPresent on a queued payout that is waiting for something on Nowgate's side.
One of:
liquidity,gas_funding,fees,signer_limit.failure_reasonstringPresent on a failed payout.
external_idstringbatchPayoutBatchID (string)send_atTimestamp (string (date-time))approved_atTimestamp (string (date-time))transactionstringThe transaction that carries it
metadatamap of stringrequiredcreated_atTimestamp (string (date-time))requiredupdated_atTimestamp (string (date-time))requiredclosed_atTimestamp (string (date-time))versioninteger (int64)requiredIncreases with every change; use it to ignore stale webhook events.
Responses
200 Any 2xx acknowledges the event.
Destination events#
your endpoint (you choose the URL)Sent by Nowgatedestination.created as soon as a destination is added, so you can raise an alarm about an address nobody meant to add; destination.active when it can be paid; destination.disabled when it is disabled.
Headers
Nowgate-SignaturestringrequiredNowgate-Event-IdEventID (string)required
Body
idEventID (string)requiredobject"event"requiredtypestringrequireddestination.created
api_versionstringrequiredExample:
"2026-11-01".environmentstringrequiredOne of:
live,sandbox,dev,test.created_atTimestamp (string (date-time))requireddataobjectrequired1 fields
objectPayoutDestination (object)required12 fields of PayoutDestination
idPayoutDestinationID (string)requiredobject"payout_destination"requiredstatusstringrequiredOne of:
pending,active,disabled.networkNetwork (string)requiredNetwork identifier; see GET /assets. New networks may be added.
addressstringrequiredThe address in its canonical form.
memo_typeMemoType (string)A Stellar memo's type.
idis a number up to 2^64-1,textat most 28 bytes.One of:
id,text.memostringlabelstringkindstringrequiredrefundwhen a payer gave it for a refund.One of:
payout,refund.active_atTimestamp (string (date-time))requiredWhen it became, or will become, payable.
created_atTimestamp (string (date-time))requireddisabled_atTimestamp (string (date-time))
Responses
200 Any 2xx acknowledges the event.
Batch events#
your endpoint (you choose the URL)Sent by Nowgatebatch.created when a batch is created, and batch.finished once every item is final. Each item also sends its own payout events.
Headers
Nowgate-SignaturestringrequiredNowgate-Event-IdEventID (string)required
Body
idEventID (string)requiredobject"event"requiredtypestringrequiredbatch.created or batch.finished.
api_versionstringrequiredExample:
"2026-11-01".environmentstringrequiredOne of:
live,sandbox,dev,test.created_atTimestamp (string (date-time))requireddataobjectrequired1 fields
objectPayoutBatch (object)required9 fields of PayoutBatch
idPayoutBatchID (string)requiredobject"payout_batch"requiredformatstringrequiredOne of:
json,csv.item_countintegerrequiredcountsmap of integerrequiredThe items' counts, by status.
send_atTimestamp (string (date-time))created_atTimestamp (string (date-time))requiredfinished_atTimestamp (string (date-time))When its last item became final.
itemsarray of Payout (object)The batch's payouts, in the order given; only in the creating response.
24 fields of Payout
idPayoutID (string)requiredobject"payout"requiredstatusPayoutStatus (string)requiredOne of:
awaiting_address,awaiting_approval,scheduled,waiting_destination,queued,sending,finished,failed,canceled.networkNetwork (string)requiredNetwork identifier; see GET /assets. New networks may be added.
assetAssetSymbol (string)requiredAsset symbol on the network; see GET /assets.
amountAmount (string)requiredA non-negative decimal amount in the asset's units, e.g. "12.5".
amount_sentAmount (string)requiredWhat the destination gets.
network_feeAmount (string)requiredThe network fee, quoted in this asset when the payout was created.
payout_feeAmount (string)requiredNowgate's payout fee.
amount_debitedAmount (string)requiredWhat your balance pays for it.
fee_paid_byPayoutFeePaidBy (string)requiredWho pays the network fee:
merchanton top of the amount (the destination gets the whole amount), orpayeeout of it.One of:
merchant,payee.destinationPayoutDestination (object)requiredwaiting_reasonstringPresent on a queued payout that is waiting for something on Nowgate's side.
One of:
liquidity,gas_funding,fees,signer_limit.failure_reasonstringPresent on a failed payout.
external_idstringbatchPayoutBatchID (string)send_atTimestamp (string (date-time))approved_atTimestamp (string (date-time))transactionstringThe transaction that carries it
metadatamap of stringrequiredcreated_atTimestamp (string (date-time))requiredupdated_atTimestamp (string (date-time))requiredclosed_atTimestamp (string (date-time))versioninteger (int64)requiredIncreases with every change; use it to ignore stale webhook events.
Responses
200 Any 2xx acknowledges the event.
The payout object#
idPayoutID (string)requiredobject"payout"requiredstatusPayoutStatus (string)requiredOne of:
awaiting_address,awaiting_approval,scheduled,waiting_destination,queued,sending,finished,failed,canceled.networkNetwork (string)requiredNetwork identifier; see GET /assets. New networks may be added.
assetAssetSymbol (string)requiredAsset symbol on the network; see GET /assets.
amountAmount (string)requiredA non-negative decimal amount in the asset's units, e.g. "12.5".
amount_sentAmount (string)requiredWhat the destination gets.
network_feeAmount (string)requiredThe network fee, quoted in this asset when the payout was created.
payout_feeAmount (string)requiredNowgate's payout fee.
amount_debitedAmount (string)requiredWhat your balance pays for it.
fee_paid_byPayoutFeePaidBy (string)requiredWho pays the network fee:
merchanton top of the amount (the destination gets the whole amount), orpayeeout of it.One of:
merchant,payee.destinationPayoutDestination (object)required12 fields of PayoutDestination
idPayoutDestinationID (string)requiredobject"payout_destination"requiredstatusstringrequiredOne of:
pending,active,disabled.networkNetwork (string)requiredNetwork identifier; see GET /assets. New networks may be added.
addressstringrequiredThe address in its canonical form.
memo_typeMemoType (string)A Stellar memo's type.
idis a number up to 2^64-1,textat most 28 bytes.One of:
id,text.memostringlabelstringkindstringrequiredrefundwhen a payer gave it for a refund.One of:
payout,refund.active_atTimestamp (string (date-time))requiredWhen it became, or will become, payable.
created_atTimestamp (string (date-time))requireddisabled_atTimestamp (string (date-time))
waiting_reasonstringPresent on a queued payout that is waiting for something on Nowgate's side.
One of:
liquidity,gas_funding,fees,signer_limit.failure_reasonstringPresent on a failed payout.
external_idstringbatchPayoutBatchID (string)send_atTimestamp (string (date-time))approved_atTimestamp (string (date-time))transactionstringThe transaction that carries it
metadatamap of stringrequiredcreated_atTimestamp (string (date-time))requiredupdated_atTimestamp (string (date-time))requiredclosed_atTimestamp (string (date-time))versioninteger (int64)requiredIncreases with every change; use it to ignore stale webhook events.
The payout destination object#
idPayoutDestinationID (string)requiredobject"payout_destination"requiredstatusstringrequiredOne of:
pending,active,disabled.networkNetwork (string)requiredNetwork identifier; see GET /assets. New networks may be added.
addressstringrequiredThe address in its canonical form.
memo_typeMemoType (string)A Stellar memo's type.
idis a number up to 2^64-1,textat most 28 bytes.One of:
id,text.memostringlabelstringkindstringrequiredrefundwhen a payer gave it for a refund.One of:
payout,refund.active_atTimestamp (string (date-time))requiredWhen it became, or will become, payable.
created_atTimestamp (string (date-time))requireddisabled_atTimestamp (string (date-time))
The payout batch object#
idPayoutBatchID (string)requiredobject"payout_batch"requiredformatstringrequiredOne of:
json,csv.item_countintegerrequiredcountsmap of integerrequiredThe items' counts, by status.
send_atTimestamp (string (date-time))created_atTimestamp (string (date-time))requiredfinished_atTimestamp (string (date-time))When its last item became final.
itemsarray of Payout (object)The batch's payouts, in the order given; only in the creating response.
24 fields of Payout
idPayoutID (string)requiredobject"payout"requiredstatusPayoutStatus (string)requiredOne of:
awaiting_address,awaiting_approval,scheduled,waiting_destination,queued,sending,finished,failed,canceled.networkNetwork (string)requiredNetwork identifier; see GET /assets. New networks may be added.
assetAssetSymbol (string)requiredAsset symbol on the network; see GET /assets.
amountAmount (string)requiredA non-negative decimal amount in the asset's units, e.g. "12.5".
amount_sentAmount (string)requiredWhat the destination gets.
network_feeAmount (string)requiredThe network fee, quoted in this asset when the payout was created.
payout_feeAmount (string)requiredNowgate's payout fee.
amount_debitedAmount (string)requiredWhat your balance pays for it.
fee_paid_byPayoutFeePaidBy (string)requiredWho pays the network fee:
merchanton top of the amount (the destination gets the whole amount), orpayeeout of it.One of:
merchant,payee.destinationPayoutDestination (object)required12 fields of PayoutDestination
idPayoutDestinationID (string)requiredobject"payout_destination"requiredstatusstringrequiredOne of:
pending,active,disabled.networkNetwork (string)requiredNetwork identifier; see GET /assets. New networks may be added.
addressstringrequiredThe address in its canonical form.
memo_typeMemoType (string)A Stellar memo's type.
idis a number up to 2^64-1,textat most 28 bytes.One of:
id,text.memostringlabelstringkindstringrequiredrefundwhen a payer gave it for a refund.One of:
payout,refund.active_atTimestamp (string (date-time))requiredWhen it became, or will become, payable.
created_atTimestamp (string (date-time))requireddisabled_atTimestamp (string (date-time))
waiting_reasonstringPresent on a queued payout that is waiting for something on Nowgate's side.
One of:
liquidity,gas_funding,fees,signer_limit.failure_reasonstringPresent on a failed payout.
external_idstringbatchPayoutBatchID (string)send_atTimestamp (string (date-time))approved_atTimestamp (string (date-time))transactionstringThe transaction that carries it
metadatamap of stringrequiredcreated_atTimestamp (string (date-time))requiredupdated_atTimestamp (string (date-time))requiredclosed_atTimestamp (string (date-time))versioninteger (int64)requiredIncreases with every change; use it to ignore stale webhook events.
The forwarding rule object#
networkNetwork (string)requiredNetwork identifier; see GET /assets. New networks may be added.
assetAssetSymbol (string)requiredAsset symbol on the network; see GET /assets.
destinationPayoutDestinationID (string)requiredAn active destination of yours on the asset's network.
modeForwardingMode (string)requiredpaymentforwards each payment's credit;dailythe whole available balance once a day.One of:
payment,daily.hourintegerThe hour, UTC, of a
dailyrule; not given forpayment.From 0 to 23.
min_amountAmount (string)Nothing smaller is forwarded (default 0); it stays in your balance.
created_atTimestamp (string (date-time))When the rule was first set; ignored in a request.
updated_atTimestamp (string (date-time))When it last changed; ignored in a request.