Prerequisites
- The user is onboarded and verified (KYC is complete).
Set the period
All statements are scoped to a specific period, defined by three required query parameters:period— the period type. Currently onlyone-monthis supported.year— the calendar year (e.g.2025).month— the calendar month as a number from1to12.
period object in the response reflects the exact UTC start and end timestamps of the requested period:
409 error. A valid period with no user activity still returns a successful response — holdings and transactions will have no entries.
Set the denomination
Thedenomination query parameter accepts a single asset code (e.g. denomination=GBP). If not provided, USD is used by default. Exchange rates use USD as the base pair. When the denomination is not USD, the response also includes a USD-{denomination} rate to complete the conversion.
Supported assets include some of the major fiat currencies and BTC. If you need a particular asset added to this list, please reach out to your Account Manager.
Fetch portfolio statements
Call Get portfolio statement to retrieve the user’s holdings at the end of the requested period, along with exchange rates in the requested denomination. Rates are a period-end snapshot.Fetch transaction statements
Call Get transactions statement to retrieve a paginated list of completed transactions during the period, each with exchange rates captured at the time they completed.rates object with exchange rates captured at the time that transaction completed.
Handling pagination
The response includes apagination object with first and next URL links. next points to the next page and is absent on the last page. For a full overview of how pagination works across the API, see Pagination in responses.
To retrieve all transactions, request each page in sequence and follow next until it’s absent. The following helper collects all pages upfront:
Build a quarterly statement
To generate a quarterly report, use the helpers above: fetch the portfolio snapshot at the end of the last month of the quarter and aggregate transactions across all three months.Next steps
Preparing data
Compute denominated values for holdings and transactions and build the report payload.
Generating report
Build a PDF from the processed data and run the generation pipeline in a background worker.