Retrieve wallet balances for each Moov account using GET /accounts/{accountID}/wallets from the Wallets section of the API (docs.moov.io/api/sources/wallets/); the response includes availableBalance and pendingBalance.
List completed and pending transfers using GET /transfers with filters for accountID, status, and date range to enumerate all money movement affecting wallet balances.
For each transfer, capture the transferID, amount, source, destination, status, and createdOn timestamp to construct reconciliation line items in your external ledger.
Cross-reference the sum of completed transfer credits minus debits against the availableBalance reported by the wallet endpoint; investigate any discrepancy.
Subscribe to transfer-related webhook events by specifying them in your Moov account's event subscriptions so your reconciliation system receives real-time updates rather than polling.
Include header x-moov-version: v2026.04.00 on all API calls to ensure consistent response shapes during reconciliation runs.
Known gotchas
The Moov API base URL is https://api.moov.io with no version path segment; version is passed via the x-moov-version request header — omitting the header defaults to v2024.01.00 which may return different response structures.
pendingBalance includes transfers that have been initiated but not yet settled; do not include pending amounts in final reconciliation snapshots to avoid double-counting.
Moov wallet balances are denominated in the smallest currency unit (cents for USD); divide by 100 before displaying or comparing against external ledger amounts denominated in standard units.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp