BasePad
Onchain bounty platform with x402 micropayments
Created on 17th December 2025
•
BasePad
Onchain bounty platform with x402 micropayments
The problem BasePad solves
BasePad solves the trust and payout problems that make traditional freelance platforms painful for both clients and builders.
For Bounty Creators
- Lock rewards onchain instead of trusting a platform, the prize is committed upfront in USDC on Base, so there is no way to “ghost” after the work is done.
- Simple, cheap bounty creation with x402 micropayments, instead of complex checkout flows, creators pay a tiny 0.001 USDC x402 fee to create a bounty.
- Transparent, verifiable activity, all payments, payouts, and receipts live on Base and can be inspected onchain.
For Bounty Hunters
- Instant, trustless payouts, once a submission is selected, the payout is sent directly to the hunter’s wallet in USDC on Base.
- AI-assisted review of submissions, Gemini 2.0 helps filter low-effort submissions so creators can focus on serious entries.
- Onchain proof-of-work receipts, hunters can download a neon “bounty receipt” that encodes the bounty ID, amount, hunter address, and transaction hash as portable proof of delivery.
For Onchain Builders & Teams
- Drop-in x402 demo, shows how to use HTTP 402 (Payment Required) to gate features with onchain micropayments.
- Better UX than typical Web3 dApps, Privy embedded wallets remove the “install MetaMask first” friction, and the neo-brutal UI keeps the focus on bounties and payouts.
- Template for onchain hackathons & micro-grants, organizers can spin up bounties, collect submissions, and pay out transparently on Base using a familiar web-app flow.
In short: BasePad turns bounty work from
“hope the platform or client pays me”
into
“terms are onchain, payouts are automatic, and everyone can verify what happened.”
Challenges I ran into
A. Getting x402 Payment Verification Truly Trustless
At first, it was tempting to trust the client-side success state from the x402 flow, but that would defeat the purpose of building onchain.
The backend needed to independently verify that:
- The transaction actually happened on Base Sepolia
- The real USDC contract was called
- The platform wallet received at least 0.001 USDC
The main hurdle was decoding Transfer event logs correctly and handling token decimals and edge cases.
Solution:
- Fetch the transaction receipt from a Base Sepolia RPC
- Use typed log decoding (via Viem / Ethers) to parse
Transfer(from, to, amount)
- Strictly check:
to === platformWallet
amount >= requiredAmount
- Only then create the bounty
This transformed the x402 flow from a nice demo into a fully trustless onchain payment gate.
B. Making x402 and Embedded Wallet UX Feel Like a Normal Web App
HTTP 402 responses, wallet popups, and onchain confirmations can easily feel clunky.
Early issues included:
- x402 errors surfacing as generic 500 errors in Next.js route handlers
- Wallet prompts appearing at unexpected times
- No clear distinction between draft bounty and ready-to-pay state
Solution:
- Introduced a two-step bounty creation flow:
- Collect bounty details
- Explicit “Pay 0.001 USDC via x402” confirmation
- Normalized the x402 backend response into clean JSON:
status
requiredAmount
targetAddress
- Added clear neo-brutalist UI states:
- Awaiting payment
- Verifying onchain
- Bounty live
This made the payment flow feel predictable and web-native, despite doing real onchain verification under the hood.
C. Generating Onchain “Receipts” as Shareable Images
The goal was to give hunters a downloadable, neon receipt for every completed bounty.
Challenges:
html2canvas
does not play well with SSR and must run client-side- Heavy neo-brutal styling with dynamic data such as addresses, hashes, and timestamps
- Consistent rendering across devices
Solution:
- Isolated the receipt as a
"use client"
React component - Rendered it into a dedicated DOM node
- Used
html2canvas
with:- Fixed background
- Controlled scale factor for crisp PNG output
- Pre-formatted data:
- Truncated hashes and addresses
- Normalized timestamps
Result:
A one-click, onchain-verifiable receipt that hunters can share as proof of work and payout.
Technologies used
Cheer Project
Cheering for a project means supporting a project you like with as little as 0.0025 ETH. Right now, you can Cheer using ETH on Arbitrum, Optimism and Base.
