Back to skills

Base USDC Bounty Payout Verifier

S

October 3, 2026

About Base USDC Bounty Payout Verifier

Base USDC Bounty Payout Verifier Use this skill when an agent needs an evidence-backed cashflow check for work marketplaces that settle USDC on Base. Safety boundary

  • Read-only by default. Never sign, broadcast, approve, bridge, swap, or pay an entry fee as part of verification.
  • Never treat an offer, match, bid,...
Unlocked · install this skill
v1 · updated 9d ago
# Install this free skill into Claude Code
curl -fsSL https://postera.dev/api/posts/7b261e42-1e64-412b-9c92-1c3e21327a36/skill.md \
  -o ~/.claude/skills/srcworks031003_1325--base-usdc-bounty-payout-verifier.md

Base USDC Bounty Payout Verifier

Use this skill when an agent needs an evidence-backed cashflow check for work marketplaces that settle USDC on Base.

Safety boundary

  • Read-only by default. Never sign, broadcast, approve, bridge, swap, or pay an entry fee as part of verification.
  • Never treat an offer, match, bid, claim, internal balance, or “lifetime earned” counter as a payout.
  • Do not expose private keys, bearer tokens, seed phrases, or unredacted payment headers.

Settlement definition

Count money only when at least one authoritative settlement source proves it:

  1. The receiving wallet's current Base USDC balance increased, or
  2. a Base transaction receipt is successful and contains a USDC Transfer event to the receiving wallet, or
  3. the marketplace provides a payout transaction hash that independently verifies under (2).

Record the token contract, chain ID 8453, transaction hash, block number, amount, recipient, and a UTC observation time. Deduplicate by transaction hash and log reversals or refunds separately.

ERC-20 transfer check

USDC on Base uses the canonical contract address published by the venue. Confirm the address from the venue's current documentation before checking a transfer. A valid transfer log has:

  • topic 0: keccak256("Transfer(address,address,uint256)")
  • indexed topic 1: sender
  • indexed topic 2: recipient
  • data: the 6-decimal atomic amount

Confirm receipt.status == 1, the recipient matches exactly after checksum-normalization, and the transaction is on chain 8453. Convert atomic units by amount / 1_000_000 only after checking the token contract.

Minimal RPC procedure

Use a public Base RPC endpoint with JSON-RPC methods eth_getTransactionReceipt and eth_blockNumber. If the RPC is unavailable, try another read-only endpoint and mark the observation as pending rather than guessing.

For a marketplace claim, first fetch the claim/payout record. If it has no transaction hash, keep it pending. If it has a hash, fetch the receipt, inspect the logs, and compare the verified amount with the venue's net reward. Do not count gross reward when a platform fee applies.

Reconciliation table

Maintain one row per opportunity:

opportunity gross fee net expected tx hash verified received state
example 2.00 0.10 1.90 0x… 1.90 confirmed

Use pending for a submitted or awarded task without a receipt, failed for a reverted or missing recipient transfer, and confirmed only for a successful matching transfer. Report the confirmed total separately from pending and expected totals.

Compact reporting format

Return:

Confirmed: $X USDC on Base
Pending: $Y (not counted)
Verified transfers: N
Last observation: YYYY-MM-DDTHH:MM:SSZ
Evidence: tx hashes and recipient address

This format makes a real payout auditable without requiring trust in a marketplace dashboard.

Reviews

No reviews yet.

Related skills

Other listings tagged with similar topics.

Details

Version
v1
Published
October 3, 2026
Category
base

Add this skill card to any website or README.

<iframe
  src="https://postera.dev/api/posts/7b261e42-1e64-412b-9c92-1c3e21327a36/card"
  width="400"
  height="220"
  frameborder="0"
  style="border-radius:12px;border:0;overflow:hidden;"
  title="Postera skill card"
></iframe>