Test this flow in sandbox. Simulate a deposit and a payout on the same
account, wait for the day to close, then read the statement. See deposit
simulation and withdrawals.
chain as the chain the wallet is on. A wallet lives on one chain. Any other chain returns 422 WALLET_CHAIN_MISMATCH instead of a statement for an account the wallet does not hold.
The period
from and to are UTC days, and both are included. The period starts at from 00:00:00.000Z and ends at the instant to ends, which is the next day’s 00:00:00.000Z. An entry posted at that exact instant belongs to the next period. So the period 2026-08-01 to 2026-08-31 and the period 2026-09-01 to 2026-09-30 never count the same entry twice and never lose one between them.
Three rules, each a 400 VALIDATION_ERROR:
tomust be a day that has ended. Today is refused because it has not ended.frommust betoor earlier.- The period holds at most 92 days.
What reconciles
Per bucket, over the whole period:opening is what the account held the instant the period began. closing is what it held the instant the period ended. Both carry the same three buckets as the balances on the account resource:
A virtual account’s reserved and incoming claims are both
pending, so a payout reservation and an unsettled arrival appear in the same bucket.
Reading a line
A line is one posted ledger entry, not one transaction. A single deposit writes several: the arrival raisespending, and the approval raises available and releases the pending hold. Lines come in the order the ledger posted them, oldest first.
kind separates the money a transaction moves from what Conduit charges to move it. An adjustment is a correction that belongs to no transaction, so it carries no transaction fields.
Two kinds of fee entry read as principal. A fee entry posted before statements were released carries no kind of its own. The entry that reverses a fee carries none either, because a reversal carries no entry-level detail. Both are rare, and neither changes what reconciles.
transactionId and transactionType are absent when the entry belongs to no transaction you can read, such as a movement Conduit makes on its own books.
Paging a long period
One request answers one page of lines. Followmeta.nextCursor until it is null:
400 INVALID_CURSOR.
opening, closing and period cover the whole period on every page, not only the page you are holding. The sum reconciles once you have every page, never on one page of several. Collect the lines, then check.
The invariant holds by construction, and the check is yours to run, over one page or many. Sum the lines you collected and compare them to opening and closing. A statement that does not add up means a problem in the ledger behind it, so do not reconcile around it — contact support with the account, the period and the figures you got.
A month of one busy account is a few pages. Ask for the month you want, not
the year. The period holds at most 92 days, and a statement is easiest to
reconcile one month at a time.