CPC & CPV campaigns
The CPC and CPV modules sell timed site visits and video views. The visitor must dwell for the required time before the reward is credited.
A self-hosted Laravel platform that turns a website or app into an offerwall. Publishers embed a wall or call the REST API, Preads tracks every click and conversion, credits the balance, and pays out on a monthly invoice.
Counts are of the files and schema in the release you receive. Offer-network and payment gateway credentials are deliberately not included — you supply your own.
An ad network has two customers at once. Preads is built for both — advertisers who buy campaigns and publishers who monetize traffic.
One screen for CPV, CPC, Banner and Microjob campaigns: views delivered, spend, remaining balance and a seven-day trend.
The CPC and CPV modules sell timed site visits and video views. The visitor must dwell for the required time before the reward is credited.
Advertisers buy image and text placements. Delivery, impressions and clicks are logged; currency, targeting and campaign approval are admin-controlled.
Advertisers post small tasks, workers submit text and image proof, and the advertiser or an admin approves it to release the reward.
A single dashboard reports views delivered, spend, remaining balance and a seven-day trend.
Offers are filtered by detected country and device, by category, and by the platform on the app.
A weighted score combines IP reputation, device fingerprint and behavioural signals. Each check is written to a fraud score record so a decision can be reviewed afterwards.
Publishers embed a wall or call the REST API. Preads tracks every click and conversion, credits the balance, and pays out on a monthly invoice.
Embed the wall in a page with one <iframe>. Users browse offers, filter by device, search, and open an offer detail view.
Apps register with the android or ios platform and open the same wall in a web view, or fetch offers over the REST API and render them natively.
Gate a URL behind a set number of offer completions, with a per-device template and a session progress endpoint — or gate a link that redirects once the requirement is met.
Approved conversions credit the publisher's balance. On the 1st of each month, eligible approved rewards become an invoice against the saved payout method, which an admin approves.
Revenue and conversion reporting with date, network, publisher, app, device and country filters; a revenue chart against publisher cost; profit and margin; and per-network chargeback reporting.
Skip the wall entirely. Fetch offers over HTTP, build your own UI, and let Preads handle tracking, crediting and reporting underneath.
The offerwall is the visible page. The work is everything behind it.
Every offer network has its own authentication scheme, offer endpoint and response format. Each one is a separate integration to write, test and keep working.
A conversion arrives as a postback from an untrusted caller. You have to match it to a click, decide whether it counts, and stop a forged postback from crediting a balance.
Anyone can register. Someone has to decide which sites and apps get access, issue them credentials, and revoke them again when they abuse the wall.
Conversions get rejected and charged back after the fact. A payout process that ignores that will eventually pay more than was ever earned.
Each of these is a solved problem inside Preads, with the code in the box rather than a vendor in the middle.
The path a conversion takes through Preads. Every step below is a real code path in the release.
php artisan offers:auto-import) or on demand from the Network Hub.
pending until an admin approves it.
apiKey, apiSecret
and postback_secret.
<iframe> pointing at /wall, or
GET /api/v1/offers with the key and secret.
click_id is issued and carried into the network URL.
click_id. Duplicate transaction
IDs are rejected, and the payout recorded is read from the database, not from
the request.
conversion_rewards row splits the money three ways: operator
margin, publisher payout and end-user reward.
Each of these maps to a shipped module. Where a limit exists, it is stated rather than implied.
Embed the wall in a page with one <iframe>. Users browse
offers, filter by device, search, and open an offer detail view.
Apps register with the android or ios platform and
open the same wall in a web view, or fetch offers over the REST API and
render them natively.
A second wall filtered to offers categorised as surveys, with its own route and its own embed.
Gate a URL behind a set number of offer completions, with a per-device template and a session progress endpoint.
The same gating model for a link, which redirects the visitor once the requirement is met.
The CPC and CPV modules sell timed site visits and video views. The visitor must dwell for the required time before the reward is credited.
Advertisers buy image and text placements. Delivery, impressions and clicks are logged; currency, targeting and campaign approval are admin-controlled.
Advertisers post small tasks, workers submit text and image proof, and the advertiser or an admin approves it to release the reward.
Skip the wall entirely. Fetch offers over HTTP, build your own UI, and let Preads handle tracking, crediting and reporting underneath.
Grouped by the job each part of the system performs.
Three delivery surfaces: the full wall, the survey-filtered wall, and an iframe partner wall that hands traffic to networks configured for iframe mode.
Offers are filtered by detected country and device, by category, and by the platform on the app. The wall adds a search box and a device filter.
The publisher passes its own userId on every embed and API
call. Preads attributes clicks, conversions, balances and rewards to it,
which is what lets you run your own reward economy.
A user-facing history view joins the user's clicks to their conversions and shows what each one earned and whether it completed.
GET /api/v1/offers authenticated by the app's
apiKey and apiSecret. Supports
country, platform, category,
limit, offset and
sort, and returns a structured success/error envelope.
GET /api/track records the click, runs the fraud check, and
302s to the offer URL with {click_id} substituted into it.
Your userId and four aff_sub slots are carried
through the whole flow.
A single /api/postback endpoint receives every network. It
resolves the click from any of nine accepted parameter names, routes the
request to the handler for that click type, and answers in the plain-text
form networks expect.
Set a postback URL per app and Preads calls it on conversion with
{user_id}, {transaction_id},
{offer_name}, {payout}, {reward},
{status}, {country} and
{aff_sub}–{aff_sub4}. Every attempt is
logged with its response.
<iframe
style="width:100%; height:800px; border:0; padding:0; margin:0"
scrolling="yes" frameborder="0"
src="https://your-domain.com/wall?apiKey=YOUR_API_KEY&userId=YOUR_USER_ID"></iframe>
Replace YOUR_USER_ID with your own user identifier on every
request. The same snippet works for /surveywall. No SDK, build
step or JavaScript bundle is required for web integration.
34 network records ship pre-loaded, covering both integration modes. Each one is a configuration screen: you paste the credentials from your own account with that network, then import its offers.
API mode — 28 networks
Iframe mode — 6 networks
Network names are the records included in the schema. Whether a given network pays you, and how much, depends on your own account with them and on the traffic you send.
Publishers register, verify their email, and submit apps for review. An admin approves, rejects with a reason, or suspends. Status is checked on every request, so a suspended app stops working immediately.
TOTP with a QR code and recovery codes, or an email code as the second factor, for both admin and publisher accounts. With login history and account lockout after repeated failed attempts.
Every publisher gets a referral code. A percentage of the referred publisher's approved conversion revenue is credited to the referrer's balance and is eligible for payout like any other reward.
Publishers raise, reply to and close their own tickets with attachments. Admins assign, prioritise and change status from the same queue.
A weighted score combines IP reputation, device fingerprint and behavioural signals. Each check is written to a fraud score record so a decision can be reviewed afterwards.
The shipped fingerprint script collects browser and canvas signals, hashes them, and posts them in. Multi-account use of one device is detected from how many user IDs that device has been seen with.
Six provider adapters are wired in — IPQualityScore, AbuseIPDB, IPHub, ProxyCheck, MaxMind and IPinfo — each tried in turn, with results cached. VPN, proxy, Tor and datacenter ranges are scored, and Tor exit nodes are blocked outright.
Blocked clicks and conversions land in a pending queue with their score and flags, where an admin can approve, reject or block. Blocked devices and IP allow/block lists are managed from the same screen.
Each app carries its own currency code and exchange rate to USD, so end-user rewards are denominated in the app's currency while the ledger stays in USD. Publisher revenue share is negotiated per publisher.
Payouts are invoice-based. On the 1st of each month, eligible approved rewards become an invoice against the publisher's saved payout method, with a configurable term, minimum, maximum, percentage fee and fixed fee.
Card, wallet and crypto gateways all implement one interface, so enabling a new one is configuration rather than code. Per-currency minimums and charges override the platform defaults.
Network chargeback reports import as CSV per network and accumulate against the publisher, so reversals are visible rather than silently absorbed.
Super admin, admin and support. Every sensitive screen — settings, networks, offers, publishers, fraud, withdrawals, logs, system info — is gated behind a named permission, and only a super admin can move money.
Revenue and conversion reporting with date, network, publisher, app, device and country filters; a revenue chart against publisher cost; profit and margin; postback delivery logs; and per-network chargeback reporting.
Site name, logo, favicon, social image and social-sharing tags are admin settings. Frontend themes can be uploaded and activated, and each theme's sections edited in place.
Settings changes are versioned, diffable and revertible. Payment secrets are stored encrypted, and outbound postback URLs are validated as public addresses before they are saved.
Captured from the release. Select any image to open it full size.
Names and balances visible in these captures are demo data from a seeded installation. Your installation starts empty.
The operator's path, then the publisher's, then the user's.
Upload the files, point a vhost at the public directory, open the site and complete the built-in installer: requirements, licence, environment, first admin account, site settings.
Import the schema through the installer, then open the Network Hub and enter the credentials for the networks you have accounts with. Run the first offer import and the catalogue is live.
Publishers register and submit their sites or apps. Review them in the admin, approve, and they get credentials and an integration snippet.
One <iframe> in a page, or a call to
/api/v1/offers. Their userId rides along on
every request so rewards can be attributed to their own users.
Clicks are recorded and fraud-checked. The network reports back, conversions are matched and approved or rejected, and the reward ledger is written.
Approved rewards credit the balance. The monthly job turns eligible amounts into an invoice, an admin approves it, and the publisher sees it in their wallet.
Standard Laravel, standard MySQL. Nothing exotic to host.
Card, wallet and crypto gateways all implement one interface, so enabling a new one is configuration rather than code.
The distinction on the right matters as much as the list on the left.
admins table is empty on purpose. The installer creates the first
super-admin account you choose.
The demo is the product, on a public domain, with seeded data so every screen has something in it. Walk the wall, the admin panel and the publisher panel before you decide.
The demo is read-only and its data is not yours. Nothing you see there is a promise about revenue.
Copy the URLs and the wall embed you will actually use. Preads ships no default admin credentials by design — the installer creates the first account for you.
Publisher and integration documentation, served by the product itself at
https://preads.hansaldev.com/documentation. It is also included in the release, so you are not
dependent on the demo staying online.
Plain statements, including the parts that are limited.
You receive the complete source code and the right to run it on a server you control and modify it for your own operation.
The product is sold as a regular licence for a single installation. You cannot resell or redistribute the source as a competing product. The full terms are presented and accepted during installation, so they are recorded on your own instance as well as here.
The System Updater is included. You upload an update archive and it backs up the database and files, applies any missing tables or columns, and copies the new code across.
Because the updater ships with the product, you are not dependent on a vendor connection to keep an installation maintained. Future releases are a commercial question for the vendor at the point of purchase; this page does not promise a lifetime update commitment.
HansalDev provides support on a commercial basis, and you can raise a request through the contact form before or after purchase.
This page deliberately makes no response-time or 24/7 availability promise. The support ticket system inside Preads is for your publishers to raise issues with you as the operator, not a channel to the vendor.
Answered from what the release actually does.
A single commercial licence. No per-publisher fees, no revenue share to us.
Complete source code, one commercial licence, one installation.
One-time payment. Taxes, if any, are added at checkout. Your own offer-network and payment-gateway accounts are a prerequisite, not part of the price.
The regular licence covers one installation. For a multi-instance arrangement, raise it with HansalDev before you buy.
Shape Preads around your workflow — quoted per project.
The package ships without bespoke feature work, but the code is yours to extend — and HansalDev can extend it for you. Common requests drawn from the same codebase:
Scoped and agreed with you before any work starts. Not a promise of a fixed price — the quote follows the conversation.
Commission a new build from the HansalDev team.
Rather than adapting an existing script, start a dedicated engagement: a new product planned, designed, built and documented for your market.
Tell us the market, the revenue model and the integrations — we reply with how we would scope it.
GPT & Rewards Platform
Launch your own GPT rewards website: offerwalls, surveys, tasks, referrals, cashouts and gamification with a full admin panel.
Get the source code, install it on your server, connect the networks you already have accounts with, and start approving publishers.