Period close
- Observed onchain
- 5,550
- Matched to books
- 5,150
- Unmatched
- 400
- 2,500 USDC
0x11…a2 / event 0Block 21,400,610 BOOK-1042 - 800 USDC
0x22…b3 / event 1Block 21,401,980 BOOK-1043 - 1,200 USDC
0x2f…d9 / event 3Block 21,403,310 BOOK-1044 - 400 USDC
0x33…c4 / event 0Block 21,404,690 No book entry - 650 USDC
0x41…e7 / event 2Block 21,406,210 BOOK-1045
Exception 0x33…c4 / event 0
400 USDC - Receipt
- Successful transfer
- Sender
- 0x7e…19
- Your register
- Customer C-0381
- Open invoice
- INV-2207 · 400 USDC
Proposed entryBOOK-1046Posts after your approval
How it comes together
- GraphOps service
- Your systems and team
- GraphOps Substreams
Stream the day’s receipts
Your consumer stores each USDC transfer into your collection address with its block, transaction, and event index, and saves the cursor after each commit.
- Your matcher
Match receipts to the books
Amount and sender rules pair four receipts with BOOK-1042 to BOOK-1045. The 400 USDC receipt in block 21,404,690 has no entry.
- GraphOps RPC
Check the exception at its source
The receipt for transaction 0x33…c4 shows a successful 400 USDC transfer from 0x7e…19.
- Your finance team
Decide the posting
Your register maps 0x7e…19 to customer C-0381, whose invoice INV-2207 is open for 400 USDC. After approval, BOOK-1046 posts with a link to the source event.
ResultThe day closes with 5,550 USDC observed and matched, and every book entry links to its source event.
A source record establishes the movement. Its accounting classification is your finance team’s decision.
If the receipt stays unexplained
Keep it assigned and open with the investigation notes, and carry it into the next close. The source reference stays with it until someone resolves it.