Inspiration

Let's be honest: the modern web's business model is completely broken. Users are bombarded with invasive trackers and miserable ad experiences just to read a simple article, while creators and independent publishers get pennies after greedy ad networks take their massive cut. I wanted to fix that power dynamic. What if reading an ad wasn't a chore, but an active micro-transaction where your attention actually has direct, instant monetary value? That's why i built AdPal.

What it does

AdPal is an L402-powered attention verification and micro-payment protocol that turns browsing into instant value exchange. When a reader loads a sponsored piece or an ad unit, the system triggers a clean, automated $1.00 USD settlement right beneath the hood. Through a single PayPal Payouts batch, that dollar is split in real time—$0.70 flowing directly to the creator/reader incentive pool and $0.30 to the publisher. No middlemen, no waiting periods, and strict idempotency guarantees so an impression can never, ever double-charge.

How we built it

I designed AdPal around a rock-solid, zero-friction developer and user experience. The backend runs on a clean Node.js architecture managing L402 payment challenges, macaroons, and strict impression-scoped settlement locks to prevent race conditions. I integrated the PayPal Payouts API, standardizing everything globally in USD to bypass the usual sandbox currency conversion headaches. On the client side, a lightweight browser extension and an interactive real-time terminal dashboard let users watch the money move, verify the split, and track live status updates instantly.

Challenges we ran into

PayPal's sandbox environment is notoriously quirky. Early on, asynchronous delays made recipient balances look completely frozen even when API logs swore the transfer went through. Tracking down why UI balances stayed at zero while raw transaction activity logs flashed green was a humbling reminder of how messy distributed finance can be. I also had to squash tricky double-execution bugs where local test servers and cloud instances accidentally stepped on each other's toes, which forced me to implement bulletproof single-flight locks and impression-level idempotenc

Accomplishments that we're proud of

Nailing a complex financial split without a hitch. Watching a single browser impression cleanly fire a $1.00 USD transaction that automatically fractures into a precise $0.70 / $0.30 payout batch—validated, verified, and settled with zero human intervention—felt incredible the first time it all clicked together.

What we learned

Working with real-world payment rails leaves zero room for sloppy state management. A micro-payment architecture has to be completely deterministic. If your idempotency fails, your trust disappears. Designing around strict ledger invariants taught us a ton about building robust financial software.

What's next for AdPal

We want to push AdPal beyond a proof-of-concept. Next up is expanding our rails to support native crypto/Lightning L402 settlements alongside fiat, and refining the browser extension so it can seamlessly plug into thousands of publisher sites without breaking a sweat.

Built With

Share this project:

Updates

Submission history