x402 & Payments

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.

X402 & PAYMENTSMerged Is Not Paid: Verifying USDC Receipts on BaseCoreMesh Journal · engineering notes
Reserved advertising placementDisabled until AdSense approval

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.

IW
ABOUT THE AUTHOR

Indra Wijaya

Open-source engineer and automation builder working on CoreMesh, AI-agent infrastructure, backend systems, CI/CD, and evidence-first software delivery.

Author profile →