Statements
Introduction
Statements are machine-generated CSV files that provide a list of transactions within different periods, organized by the effective time of each transaction. There are 3 statement types:
- Fiat pay-in
- Crypto pay-in
- Offramp
There are two methods for retrieving statements: either by manually downloading them from the Breeze dashboard or by programmatically accessing them through the API.
Dashboard
Navigate to https://dashboard.breeze.cash/reports and download the files you want(crypto pay-in statements will be available in dashboard soon)
Pay-In Statements

Currrent Balance: the total balance to be settled, it may be greater than Settlement Amount Due because some transactions may not be payable in the upcomming settlement, due to the settlement period & delay settings.
Settlement Date: The due date for the upcoming settlement to be finished.
Settlement Amount Due: the amount to be transferred to the merchant in the upcomming settlement.
Pay-out statements

Balance: the available balance in the escrow wallet.
API access
3 steps are required for downloading statements by API:
- Get the list of latest statements.
- Get temporary download URL for one statement.
- Download the csv file by the URL.
Fetch latest statements
curl --location 'https://api.breeze.cash/v1/reports/statements?type=daily&accountType=payIn&limit=5&offset=0' \
--header "Authorization: Basic XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
This API will return the most recent statements, order by the time they were created.
Parameters
- type: the date period type of the statements, allowed values: daily/weekly/montly.
- accountType: the logical account type for the transactions, available values:
- payIn: fiat pay-in
- cryptoPayIn: crypto pay-in
- payOut: crypto offramp
- limit(optional): max page size, maximum allowed value is 100.
- offset(optional): offset of the record number.
Sample response:
{
"status": "SUCCEEDED",
"data": {
"count": 512,
"results": [
{
"merchantId": "mch_fffffffffffff",
"accountType": "payIn",
"type": "daily",
"maxEffectiveAt": 1755648000000,
"minEffectiveAt": 1755561600000,
"createdAt": 1755676978261,
"id": "stm_ec50ecf8bf5317c9",
"status": "skipped",
"updatedAt": 1755676978916
},
{
"merchantId": "mch_fffffffffffff",
"accountType": "payIn",
"type": "daily",
"maxEffectiveAt": 1755561600000,
"minEffectiveAt": 1755475200000,
"createdAt": 1755590586151,
"id": "stm_dfcd0fa4df749330",
"status": "skipped",
"updatedAt": 1755590589442
}
]
}
}
- The statement is ready for download if the status is ready.
- If the status is skipped, it means there're no transactions in the date range between [minEffectiveAt, maxEffectiveAt)
Fetch download URL
# stm_0000000001 comes from the response of the previous API call(the id field)
curl --location 'https://api.breeze.cash/v1/reports/statements/stm_0000000001/download' \
--header 'Authorization: Basic XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
If the id is correct and the statement is ready for download(status is ready) the API response will be like below:
{
"status": "SUCCEEDED",
"url": "public-url-for-the-csv-file"
}
This url
is publicly accessible but will expire after 10 minutes. It is strongly recommended to download the file immediately and store the contents in your own database or file storage system.
Report format
Pay-in reports
NOTICE: This report may contain 3 different transaction types: payment / settlement / refund, each transaction type has its own valid fields(see supported transaction types), so it's normal to see empty values.
Field | Description | Supported transaction types |
---|---|---|
Id | Unique ID for this transaction, equivalent to pageId when it is a payment transaction. | payment / settlement /refund |
Time | Time when this transaction is done. | payment / settlement / refund |
Type | Transaction type, see transaction types | payment / settlement /refund |
Amount_Change | Amount change to the total balance. | payment / settlement /refund |
Balance | Total payable balance before this transaction. | payment / settlement / refund |
Page_Client_Reference_Id | Client Reference ID(If current row is a payment record) | payment / refund |
Page_Presentment_Amount | The amount displayed on the page. | payment / refund |
Page_Presentment_Currency | The currency for the page's amount display. | payment / refund |
Page_Settlement_Amount | The amount to be settled with the merchant. | payment / refund |
Page_Settlement_Currency | The currency used in settlement. | payment / refund |
Page_Fee_Amount | The fee amount. | payment / refund |
Page_Fee_Currency | The fee currency. | payment / refund |
Page_Exchange_Rate | The exchange rate applied when the tx is happened, can ignore it for now. | N/A |
Page_Creation_Time | Timestamp when this page is created. | payment / refund |
Page_Settlement_Id | Settlement ID for this payment. The settlement record | payment |
Settlement_Transaction | Transaction hash for this settlement, if it was done by crypto. | settlement |
Settlement_Description | settlement | |
Refund_Operator | The email of the personnel who initiated this refund. | refund |
Refund_Page_Id | The Page ID that has been refunded by this transaction. | refund |
Refund_Reason | refund |
Transaction types
- card payment
- refund
- settlement: settlement from Breeze to merchant.
These types are only used in crypto pay-in reports.
- evm_deposit: Crypto payments by transferring to an EVM Blockchain address allocated for the customer
- solana_deposit: Crypto payments by transferring to a Solana address allocated for the customer
- evm_wallet: Crypto payments made by wallet apps like Metamask.
- solana_wallet: Crypto payments made by Solana wallet apps like Phantom.
These types are only used in offramp reports.
- offramp: An offramp request
- deposit: Top-up transaction to the merchant’s account for offramp
Updated 10 days ago