Settlements

Settlements are transfers of payment profits from BitPay to bank accounts and cryptocurrency wallets owned by merchants, partners, etc. This endpoint exposes reports detailing these settlements.

Resource

Name Type
facade
Facade used to view settlement objects, set to "merchant/settlement".
string
data
Settlement data object
object
id
String identifying the settlement; this id will also be in the description of the corresponding bank settlement.
string
accountId
String identifying the BitPay merchant. For internal use, this field can be ignored in merchant implementations.
string
status
Status of the settlement. Possible statuses are "new", "processing", "rejected" and "completed".
string
currency
ISO 4217 3-character currency code. This is the currency associated with the settlement. Supported settlement currencies are listed on https://bitpay.readme.io/docs/settlement
string
payoutInfo
Object containing the settlement info provided by the Merchant in his BitPay account settings
string
label
As indicated by the merchant in his settlement settings
string
bankCountry
Country where the merchant's bank account is located
string
name
account holder name
string
routing
for merchants receiving USD settlements via local ACH, this field contains the ABA provided by the merchant
string
bank
Name of the bank used by the merchant
string
swift
SWIFT/BIC code of the merchant's bank.
string
address
This field is used to indicate the wallet address used for the settlement, if the settlement currency selected by the merchant is one of the supported crypto currency: Bitcoin (BTC), Bitcoin Cash (BCH), Dogecoin (DOGE), Ether (ETH), Gemini US Dollar (GUSD), Circle USD Coin (USDC), Paxos Standard USD (PAX), Binance USD (BUSD), Dai (DAI), Wrapped Bitcoin (WBTC), and Ripple (XRP). If the settlement currency used is AUD, GBP, NZD, MXN, ZAR - this field is used to indicate the address of the merchant's bank
string
city
City of the merchant bank, field return if the settlement currency is
string
postal
Postal code of the merchant bank, field return if the settlement currency is
string
account
Bank account number of the merchant
string
merchantEIN
for merchants receiving USD settlements via local ACH, this field contains the merchant's EIN
string
sort
used to pass country specific bank fields: BSB for AUD
string
wire
If set to true, this means BitPay will be settling the account using an international transfer via the SWIFT network instead of local settlement methods like ACH(United States) or SEPA (European Economic Area)
boolean
bankName
Name of the bank used by the merchant. Field returned if "wire": true in the "payoutInfo" object
string
bankAddress
Address of the merchant's bank. Field returned if "wire": true in the "payoutInfo" object
string
bankAddress2
Address of the merchant's bank. Field returned if "wire": true in the "payoutInfo" object
string
iban
The merchant's bank account number, in the IBAN (International Bank Account Number) format. Field returned if "wire": true in the "payoutInfo" object
string
additionalInformation
When providing the settlement info via the dashboard, this field can be used by the merchant to provide additional information about the receiving bank. Field returned if "wire": true in the "payoutInfo" object
string
accountHolderName
Bank account holder name. Field returned if "wire": true in the "payoutInfo" object
string
accountHolderAddress
Bank account holder address. Field returned if "wire": true in the "payoutInfo" object
string
accountHolderAddress2
Bank account holder address. Field returned if "wire": true in the "payoutInfo" object
string
accountHolderPostalCode
Bank account holder postal code. Field returned if "wire": true in the "payoutInfo" object
string
accountHolderCity
Bank account holder city. Field returned if "wire": true in the "payoutInfo" object
string
accountHolderCountry
Bank account holder country. Field returned if "wire": true in the "payoutInfo" object
string
dateCreated
timestamp when the settlement was created. UTC date, ISO-8601 format yyyy-mm-ddThh:mm:ssZ
string
dateExecuted
timestamp when the settlement was executed. UTC date, ISO-8601 format yyyy-mm-ddThh:mm:ssZ
number
openingDate
corresponds to the closingDate of the previous settlement executed. For the first settlement of an account the value will be the BitPay merchant account creation date. UTC date, ISO-8601 format yyyy-mm-ddThh:mm:ssZ
number
closingDate
Date & time for last ledger entry used for the settlement. UTC date, ISO-8601 format yyyy-mm-ddThh:mm:ssZ
date
openingBalance
Balance of the ledger at the openingDate
string
ledgerEntriesSum
Sum of all ledger entries in the settlement, this means all the debits & credits which happened betwee openingDate and closingDate
number
withholdings
array of withholdings. Withholdings are kept on the ledger to be used later and thus withheld from this settlement. Each withholding is a JSON object containing a code, amount and description field. The possible withholding codes are:

  • W001 - Refund Reserve: a merchant can set a refund reserve for his account. This code indicate the current amount in the reserve at the moment the settlement is generated.
  • W002 - Settlement Fee: in case BitPay is charging the bank fees to the merchant, via a SWIFT wire for instance, will be posted to the ledger when the settlementReport goes into status ‘processing’. This code is not used for SEPA or ACH transfers
  • W003 - Liquidity Withholding : Used when BitPay's balance at the specific settlement bank is unsufficient to payout the full amount today
  • W004 - Insufficient Balance : in the event a case the ledger balance of the merchant drops after the settlement cut-off, the settlement amount will be adjusted.
  • W005 - Pending Refunds : in order to make sure enough funds are left on the account to execute pending refund requests.

array
withholdingsSum
Sum of all amounts that are withheld from settlement
number
totalAmount
total amount sent to the merchant; 2 decimals.

totalAmount = openingBalance + ledgerEntriesSum - withholdingsSum

number
token
API token for the corresponding settlement resource. This token is actually derived from the merchant facade token used during the query. This token is required to fetch the reconciliation report
string