SettleMint
API referenceGuides

Download monthly investor statements

List the monthly statements DALP produced for the caller's own wallets, then download each one as CSV or PDF through a short-lived link.

Overview

DALP produces one statement per wallet, per chain, per calendar month. A statement lists the wallet's opening and closing balance of every security, every transfer, issuance and redemption it took part in, the fees it paid, and its realized and period-end unrealized profit and loss per security. A figure is marked incomplete when the cost basis or an indexed price is missing, such as a held position with no cost-basis history. The CSV and PDF editions carry the same figures; the CSV keeps full addresses and transaction hashes, which the PDF shortens to fit the page.

The PDF is rendered inside the platform with no external calls, using the organization's logo, colors and fonts from Organisation theme. The same statement and theme produce the same file digest.

An investor sees only statements for their own wallets. The routes read the wallets of the signed-in caller, inside the organization the request names, and answer 404 for any other statement rather than revealing that it exists.

When a statement appears

The runner checks once an hour (REPORTING_STATEMENT_INTERVAL) for the last closed calendar month in UTC. It writes a month's statements only after the chain has a final block later than the month's end, so a statement never covers a month the chain could still reorganise. It writes a statement for a wallet that held a balance at the opening or the closing of the month, or that moved units or paid fees during it, and skips every other wallet.

Balances come from the historical-balances feature. A security issued without that feature has no balance history, so its statement lines show movements against a zero balance and the statement reports reconciled: false.

List the caller's statements

curl "https://your-instance.example.com/api/v2/reporting/statements" \
  -H "X-Api-Key: <your api key>"

Each entry carries the statement id, the account it covers, periodStart and periodEnd, the openingBlock and closingBlock the balances were read at, and reconciled. reconciled is true when, for every security, the opening balance plus the movements listed equals the closing balance. Treat a statement with reconciled: false as incomplete and raise it with the operator.

Download one edition

curl "https://your-instance.example.com/api/v2/reporting/statements/<statementId>/download?format=pdf" \
  -H "X-Api-Key: <your api key>"

format is csv or pdf. The response holds a downloadUrl that stays valid for 15 minutes, the file's mimeType and contentLength, and digest, the SHA-256 of the file. Fetch the file from downloadUrl and compare its SHA-256 with digest before you store or forward it. Request a new link when one expires; the file behind it never changes.

On this page