Merged Is Not Paid: Verifying USDC Receipts on Base
Why a merged pull request, an advertised bounty, and a verified Base USDC receipt must remain separate ledger states.
Engineering acceptance and financial settlement are different events. A pull request can be merged with no bounty, a bounty can be advertised without an award, and a platform can mark a payment pending before a token transfer reaches the destination wallet. A trustworthy dashboard keeps those states separate.
Track four different values
- Advertised: the amount visible on an issue or marketplace.
- Awarded: the amount assigned to a contributor under the platform's rules.
- Pending: a platform or payer says settlement is in progress.
- Verified received: a matching on-chain transfer has sufficient confirmations.
Only the last value is received revenue. Summing advertised bounties into earnings produces a persuasive but false metric.
Match more than an amount
A receipt verifier should match token contract, chain ID, recipient address, amount, transaction hash, log index, and block number. Amount alone is ambiguous because unrelated transfers can share the same value. Store the raw evidence needed to reproduce the decision without storing any private key.
Use confirmations and reorg awareness
Base finalizes quickly, but applications should still wait for a configured number of confirmations and recheck the receipt. Record the first observed block and the latest confirmed block. If a log disappears during a reorganization, the ledger must return to a pending or disputed state instead of preserving an incorrect paid flag.
Watch a public address safely
A payout watcher only needs a public wallet address, a public RPC endpoint, the USDC contract, and the Transfer event signature. It does not need a seed phrase, private key, browser wallet session, or signing permission. Read-only infrastructure should be physically unable to move funds.
Reconcile platform evidence
On-chain evidence proves receipt, not the reason for payment. Link the transfer to the platform claim, PR, task, or invoice using the strongest available identifiers. When the link is uncertain, mark it unmatched and request review instead of assigning revenue to the most convenient task.
Design the dashboard honestly
Show pending payout and verified received in separate cards. Include the chain, token, address, transaction link, amount, confirmations, and verification time. If no receipt exists, say zero verified received even when the portfolio contains merged work.
This distinction may make early numbers look smaller, but it creates a ledger that can be trusted by the owner, a maintainer, or an auditor.
How this article was produced
AI tools may assist with research organization, drafting, or editing. Indra Wijaya reviews each article, checks primary sources, verifies technical claims where practical, and remains responsible for the published result.