Voen Direct (voendirect.com) lets apps and websites add an offerwall, reward their users with in-app currency and earn from trusted advertisers. Delivered by Voxira.
What was built
- Offerwall: a Next.js 16 front end that publishers embed at
offerwall.voendirect.com/{app_id}/{user_id}, listing offers and surveys with filters and infinite scroll - Fraud and VPN checks: a pre-check on start that blocks offers or clicks for risky traffic, with clear notices for the visitor
- Activity: the visitor's clicks from the last seven days with their status
- QR hand-off: an Android-only or iOS-only offer opened on another device shows a QR code instead of a dead link
Developer notes
- Direct API calls: the browser calls the Voen API itself (
GET /GetOffers/{app_id}/{user_id}), with no proxy, so the backend's geo-targeting and VPN checks see the visitor's real IP - Parallel start: offers and the fraud check (
GET /fraud-check/{app_id}/{user_id}) load at the same time.offers_blockedswaps the list for a notice,clicks_blockedshows a warning and disables Start Offer, and any failure of the check counts as not blocked, so a slow check never empties the wall - Errors as states: a 403
vpn_detectedand a 500 for an inactive placement each render their own screen instead of a broken page - Signed links stay intact: every offer URL is a signed click link, opened in a new tab and never rewritten
- Short links for QR codes: long signed URLs are shortened by the app (
POST /api/shortlinkto/q/{code}, a 302 to the original), accepting only the platform's own redirect URLs, with codes kept for two hours in server memory - Embedding: one full-screen
iframeor web view, light or dark by?theme=, the visitor's choice or their OS setting, with a generated share image per host - Deployment: offer routes are dynamic, so it runs as a Next.js server (
next start) behind nginx on its own subdomain, on Node 22 or 24
Stack and role
Next.js 16, React 19, TypeScript and Tailwind CSS 4. Role: offerwall and frontend build, by Voxira.
Status
Live at voendirect.com.



