Reconciliation & reports
A continuous reconciler compares three sources of truth — the chain observations, the amounts each intent expects, and webhook delivery — and records anything that does not line up as a discrepancy.
Discrepancy kinds
Section titled “Discrepancy kinds”kind |
Raised when |
|---|---|
underpaid |
Confirmed amount is below the quote |
overpaid |
Confirmed amount exceeds the quote |
late_payment |
A transfer arrived after expiry |
post_settlement_payment |
Funds arrived at an address after its intent was already confirmed |
asset_mismatch |
A transfer of an unregistered or different asset reached an intent’s address |
reorg_pending |
Evidence was removed by a reorganisation and has not been re-observed |
webhook_undelivered |
An intent confirmed but no payment.confirmed delivery succeeded |
stale_in_flight |
An intent stayed in detected/confirming/reorged unusually long |
allocation_mismatch |
Allocations and intent totals disagree |
custody_uncredited |
Funds reached the platform’s Bitcart wallet for an invoice that did not complete (a partial or late payment). They are not credited automatically; an operator verifies the transactions and credits the amount Bitcart reports |
payout_attention |
A payout failed after it may have been broadcast. Its amount stays held until an operator confirms with Bitcart that nothing was sent |
Discrepancies are open, acknowledged or resolved. Resolving one in the dashboard requires a note and is
written to the audit log; it never edits the underlying chain evidence.
Payments report
Section titled “Payments report”CSV by default (or format=json). Timestamps are UTC. Each row has the intent id, created/confirmed times,
status and reason, fiat amount and currency, your order id, the quoted network/asset/amount and rate source, the
credited received base units, the transaction hashes, and the platform fee recorded for that intent.
Reading the numbers correctly
Section titled “Reading the numbers correctly”- Processed volume (GMV) is the fiat value of confirmed intents. It is not platform revenue, and it is not the
amount GRYPHEM PAY holds for you: what is held for you is your custodial balance per asset, net of payouts
(
GET /v1/balances). - Platform fees are metered per confirmed intent according to your immutable fee-schedule version and billed to
you monthly; see
GET /v1/billing/usageandGET /v1/billing/invoices. Until your account is activated no payment is processed for it, so nothing is metered. - Received amounts are what Bitcart reports for each invoice of the platform’s account. Once an invoice is complete, the amount is credited to your custodial balance exactly once, and you withdraw it through payouts. See Custody.
- Duplicate observations are never counted twice: each transfer has one allocation at most, and each invoice is credited at most once.