Open-source Android SDK for ad serving + PIN verification

Monetize your app.
Verify your users.

A drop-in Android SDK with built-in ad serving and 6-digit PIN verification. Three lines of code. One admin dashboard.

adverify.yourdomain.com/dashboard

API Keys

12

+12%

Active Ads

48

+12%

Impressions

2.4M

+12%

CTR

3.2%

+12%
50K+Devices verified
2M+Ads served
99.9%Uptime SLA
<200msAvg response

Features

Everything you need to serve ads and verify users

Android Native SDK

Drop-in library. Three lines to initialize. Supports interstitial, banner, and native ad formats out of the box.

3 lines of code

PIN Verification

6-digit PINs tied to device IDs. One-time use, per-device binding. Integrates with any CPA network or link shortener.

Per-device binding

API Key Management

Create, rotate, and revoke keys per app. Enable or disable with one click from the admin dashboard.

One-click control

Real-time Analytics

Track impressions, clicks, CTR, and PIN usage across all your apps. Live dashboard with daily breakdowns.

Live tracking

Device Security

Per-device PIN binding prevents sharing. Configurable max attempts, custom error messages, per-app settings.

Anti-sharing

Instant Setup

Full REST API with Basic auth. Deploy the server, grab an API key, patch your APK, and you're live.

Ship in minutes

How it works

From zero to live in four steps

01

Install the SDK

Add the adverify module to your Android project — or patch any APK with MT Manager using just 3 lines of smali.

02

Configure PINs

Set up verification rules in the dashboard. Connect your link shortener URL for PIN generation.

03

Users verify

Users complete an action on your shortener, receive a unique 6-digit PIN, and enter it in the app to unlock.

04

Serve & track

Once verified, ads are served automatically. Track impressions, clicks, and CTR in real-time.

MainActivity.smali
# ── Step 1: Add to onCreate after invoke-super ──

const-string v0, "YOUR_API_KEY"
const-string v1, "https://api.yoursite.com"
invoke-static {p0, v0, v1},
  Lcom/adverify/sdk/AdVerify;->start(...)V

# That's it. 3 lines. SDK handles everything else.
# PIN dialog → verification → ad serving → tracking

Developer Experience

Clean API. Simple integration.

build.gradle

1. Add dependency

implementation project(':adverify')

2. Initialize

AdVerify.init(context,
  "YOUR_API_KEY",
  "https://api.yoursite.com");

3. Show ads

AdVerify.showAd(activity, callback);
REST API EndpointsFull docs
POST/api/sdk/init
GET/api/sdk/ads
POST/api/sdk/generate-pin
POST/api/sdk/verify-pin
POST/api/sdk/impression
POST/api/sdk/click
GET/api/admin/stats
GET/api/admin/keys
POST/api/admin/keys

All admin endpoints use HTTP Basic Auth. SDK endpoints use x-api-key header.

Ready to get started?

Deploy the server, create an API key, and start serving ads with PIN verification in under 10 minutes.