Skip to content

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.

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.

GET/v1/reports/reconciliationlive · after account activation
GET/v1/reports/payments?from=…&to=…&format=csvlive · after account activation

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.

  • 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/usage and GET /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.