Account Integration Manual
The Account product manual is used by merchant engineering, operations, and reconciliation teams that need to confirm account identity, inspect available balances, and investigate money movement. The Account APIs are primarily read-oriented and should normally be integrated before payout or pay-in workflows go live.
Overview
Use the Account APIs for four operational goals:
- Confirm which merchant account is being authenticated.
- Read currently available balances by currency.
- Investigate deposit and withdrawal activity within a time window.
- Reconcile final balance movement through ledger records.
If your team only needs one source of truth for financial reconciliation, start with GET /payment/ledger and use deposits or withdrawals as supporting evidence when investigating a specific movement.
Prerequisites
Before integrating the Account APIs, make sure the merchant team has completed the following:
- Signed in to the Merchant Portal and obtained a valid API credential.
- Confirmed the correct
baseUrlfor the target environment. - Implemented
Authorization: Bearer <apiKey>on all requests. - Agreed internally on how balance snapshots, transaction identifiers, and reconciliation exports will be stored on the merchant side.
Integration Workflow
The recommended integration order is:
GET /payment/accountUse this first to validate that the credential maps to the expected merchant account.GET /payment/accountsUse this when your merchant can operate multiple accounts or when internal tooling needs an account list view.GET /payment/balancesUse this to render available balances by currency before enabling payout or treasury operations.GET /payment/depositsUse this when investigating inbound funding events into the merchant account.GET /payment/withdrawalsUse this when investigating outbound treasury withdrawals from the merchant account.GET /payment/ledgerUse this as the primary feed for reconciliation, finance review, and historical balance movement analysis.
Step-by-step API Mapping
Step 1: Confirm merchant identity
Endpoint: GET /payment/account
Use this endpoint immediately after credential issuance. The purpose is not just connectivity testing. It confirms that the deployed API key belongs to the expected merchant account before your team begins reading balances or moving funds.
What to verify:
- The returned account identifier matches the merchant configuration in your internal system.
- Account status and capability fields look correct for the environment you are connecting to.
- The credential does not accidentally point to another merchant or another business unit.
Step 2: Load the merchant account list
Endpoint: GET /payment/accounts
Use this endpoint when the merchant can hold multiple accounts or when operations tools need a paginated account directory. The endpoint supports:
| Query parameter | Purpose |
|---|---|
status | Filter by account state, for example active accounts only |
limit | Control page size for list views or exports |
offset | Paginate through the full result set |
Operational guidance:
- Persist the account identifier and status in merchant-side configuration data.
- Do not assume the first account in the list is the default operational account.
- If internal tools cache account lists, refresh them before reconciliation or before enabling new payout flows.
Step 3: Read available balances
Endpoint: GET /payment/balances
Use this endpoint whenever merchant systems need a current balance view before creating payouts or reviewing funding status. The endpoint accepts the optional currency filter, which is useful when:
- A payout workflow only supports one settlement currency.
- Operations dashboards focus on a single treasury currency.
- Automated alerts compare balance thresholds per currency.
Merchant-side recommendations:
- Store periodic balance snapshots with timestamp and currency.
- Treat balances as point-in-time values, not as a substitute for ledger reconciliation.
- Refresh balances before initiating manual payout review or treasury approval workflows.
Step 4: Investigate deposits
Endpoint: GET /payment/deposits
Use this endpoint to investigate incoming funds. Supported filters include:
| Query parameter | Purpose |
|---|---|
currency | Narrow investigation to a settlement currency |
network | Focus on a specific blockchain or transfer rail |
status | Filter by deposit state |
start_at / end_at | Limit the investigation window |
limit / offset | Page through historical results |
Use deposits for:
- Investigating whether expected inbound funds have arrived.
- Explaining why balances changed between two checkpoints.
- Supporting customer support or treasury investigations with transaction-level evidence.
Step 5: Investigate withdrawals
Endpoint: GET /payment/withdrawals
This endpoint mirrors the deposit investigation pattern for outbound treasury activity. Supported filters include currency, network, status, start_at, end_at, limit, and offset.
Use withdrawals for:
- Confirming whether a treasury withdrawal request was executed.
- Investigating outbound fund movements that changed the merchant balance.
- Supporting finance and compliance reviews with a filtered export of outbound activity.
Step 6: Reconcile through the ledger
Endpoint: GET /payment/ledger
This is the most important Account endpoint for finance and operations teams. It supports:
| Query parameter | Purpose |
|---|---|
currency | Reconcile a single currency ledger |
record_type | Focus on a movement class such as payout |
start_at / end_at | Reconcile a defined accounting window |
limit / offset | Page through large ledgers |
sort_by | Currently supports created_at |
sort_order | Use asc or desc depending on export logic |
Recommended practice:
- Use ascending time order for deterministic replay jobs.
- Use descending time order for operations dashboards and recent-activity views.
- Reconcile totals by currency and record type rather than mixing all movement classes into a single balance check.
Field and Reconciliation Notes
The most important fields to persist or compare are:
| Field | Why it matters |
|---|---|
| Account identifier | Confirms the credential is bound to the right merchant account |
currency | Required for per-currency balance and ledger reconciliation |
amount | Required for finance reporting and movement validation |
record_type | Distinguishes payout, pay-in, and other movement classes in the ledger |
created_at | Defines event ordering and accounting windows |
Recommended merchant data model:
- Store raw API timestamps as returned by the platform.
- Convert timestamps for display only after the raw values are saved.
- Keep reconciliation snapshots separate from real-time dashboard snapshots.
Failure Handling
The Account endpoints are read-only, but failures still need disciplined handling:
- If
GET /payment/accountfails, treat the credential or environment mapping as invalid until confirmed. - If list endpoints return partial pages, continue with
limitandoffsetrather than assuming data loss. - If a reconciliation run fails midway, restart from the last confirmed timestamp or offset boundary.
- Do not rebuild financial history from balances alone if historical list endpoints are temporarily unavailable.
Go-live Checklist
Before going live with Account operations, verify:
- Merchant credentials have been validated with
GET /payment/account. - Balance reads are available in the currencies required by your treasury workflow.
- Deposit, withdrawal, and ledger polling windows are defined.
- Your internal reconciliation job can persist
currency,amount,record_type, andcreated_at. - Support and finance teams know which internal screen or export uses ledger data as the source of truth.