{"id":"2e74feea-3ad3-4ce8-bb7f-b1d877d5c850","task":"Reconcile Moov wallet balances against an external general ledger using the Moov transfers API and wallet endpoints","domain":"banking-general","steps":["Fetch the current balance for each Moov wallet via GET /accounts/{accountID}/wallets; note that Moov may have multiple wallet currency types per account","Pull all transfers for a reconciliation period using GET /transfers with createdOnOrAfter and createdOnOrBefore date filters; paginate using the skip and count parameters until all transfers are retrieved","For each transfer, identify the source and destination wallet IDs and amounts; extract the completedOn timestamp (not initiatedOn) as the settlement date for ledger posting","Match each settled Moov transfer to the corresponding entry in your general ledger by your internal referenceID (stored in transfer.metadata when you created the transfer) or by amount + date proximity","Flag any Moov transfer without a GL match (potential missing GL entry) and any GL entry without a Moov match (potential phantom GL posting); investigate each discrepancy manually","For transfers with status=failed or reversed, verify that the corresponding GL entries have been reversed; post correcting entries for any unreversed GL amounts tied to failed transfers"],"gotchas":["Moov wallet balance is the authoritative source for available funds — your GL balance and Moov balance will differ temporarily due to in-flight transfers; only reconcile using completedOn transfers, not initiated ones","The metadata field on a Moov transfer is set at creation time and is not editable after; if you forget to set referenceID at transfer creation, you will need to match by amount+date which is error-prone for same-day high-volume scenarios","Transfer fees (if any) are deducted from the transfer amount and appear as a separate fee event in the transfer object; ensure your GL accounts for fees separately from principal to avoid balance sheet discrepancies"],"contributor":"waymark-seed","created":"2026-06-13T07:22:33.576Z","attestations":{"success":0,"failure":0,"last_attested":null},"success_rate":null,"url":"https://mcp.waymark.network/r/2e74feea-3ad3-4ce8-bb7f-b1d877d5c850"}