Developer Documentation

SplitGrid Integration Guide

Everything you need to integrate our offerwall, APIs, and S2S postback into your website or mobile app — in just a few minutes.

Before integrating, make sure you have a registered account on SplitGrid. An account is required to generate your API Key, Secret Key, and Bearer Token.

Getting Started

Add your Website

To integrate our offerwall, you first need to register your website. Once done, you will receive an API Key and a Secret Key required for all integrations.

  • 1

    Login to your SplitGrid account.

  • 2

    Click the Add New App button in the sidebar to register your first website or app.

  • 3

    Set your App Name, URL, and select your application platform type.

  • 4

    Configure your Currency Name (e.g. Points, Tokens, Coins), Currency Round (up to 2 decimals), and Exchange Rate (units earned per $1 USD).

  • 5

    Set your Postback URL. This endpoint will receive a call whenever a user completes an offer, allowing you to credit rewards automatically.

App Review & Automated Onboarding:

Once submitted, our team reviews and approves your app. Upon approval, you will automatically receive a detailed onboarding email containing your pre-filled HTML <iframe> placement snippet, API Key, Secret Key, and postback configuration details so you can start monetizing immediately!

Publisher Balances & 7-Day Fraud Protection

Available vs. Pending Balance Tiers

To protect both SplitGrid and our publishing partners from upstream advertiser chargebacks, emulator farms, and VPN abuse, rewards are divided into two distinct balance tiers:

Available Balance (Instant)

Micro-rewards under $1.00 USD, Paid-To-Click (PTC) ad views, shortlinks, faucets, and direct-link traffic are credited immediately to your Available Balance. These funds are ready for instant cashout once you reach the minimum withdrawal threshold.

Pending Balance (7-Day Hold)

High-value CPA, Survey, and Offerwall completions equal to or greater than $1.00 USD are placed into a temporary 7-day holding period. This maturation window ensures the conversion is validated upstream by advertisers.

Automated Hourly Release: You do not need to submit manual release requests. Our automated scheduler runs hourly and automatically transfers mature pending rewards straight into your withdrawable Available Balance exactly 7 days after completion. You can track pending release dates anytime in your Withdraw dashboard.

Integration

Our offerwall is segmented, auto-translated, and fully responsive. It adapts to any screen size and serves targeted offers to your users. Before proceeding, make sure you have your API Key, Secret Key, and Bearer Token from your app's edit page.

Go to My Apps → Edit to get your full integration code and keys.

Website Integration

Embed the offerwall via HTML iFrame or JavaScript popup — replace [API_KEY] and [USER_ID] with your actual values.

iFrame Embed (Recommended)

<iframe src="https://splitgrid.net/iframe.php?api_key=[API_KEY]&sub_id=[USER_ID]" style="width:100%;height:800px;border:none;" scrolling="yes"></iframe>

JavaScript (New Tab / Direct URL)

window.open("https://splitgrid.net/iframe.php?api_key=[API_KEY]&sub_id=[USER_ID]");
Dynamic [USER_ID] Parameter: Always replace [USER_ID] dynamically with your member's unique database ID or username (e.g. in PHP: <?php echo $user_id; ?>). This parameter identifies which member completed the task so our server-to-server postback credits the correct account on your site.

PTC API Integration NEW

Fetch PTC campaign data directly and render it with your own UI. Useful when you want a fully custom look and feel.

curl -X GET "https://splitgrid.net/api/v1/ptc?api_key=[API_KEY]&sub_id=[USER_ID]"

JSON Response

{
  "success": true,
  "data": [
    {
      "id": "12",
      "title": "Crypto Faucet - Earn Free BTC",
      "description": "Claim free satoshis every 5 minutes!",
      "duration": "10",
      "reward": "15.00",
      "currency_name": "Coins",
      "url": "https://splitgrid.net/iframe.php?api_key=[API_KEY]&sub_id=[USER_ID]&view=ptc_surf&ad_id=12"
    }
  ]
}

Read Article API Integration NEW

Fetch available sponsored read-article campaigns for user engagement.

curl -X GET "https://splitgrid.net/api/v1/articles?api_key=[API_KEY]&sub_id=[USER_ID]"

Offer API Integration NEW

curl -X GET "https://splitgrid.net/offer-api.php?key=[API_KEY]&sub_id=[USER_ID]&ip=[USER_IP]" \
  -H "Authorization: Bearer [BEARER_TOKEN]"

Survey API Integration NEW

curl -X GET "https://splitgrid.net/survey-api.php?key=[API_KEY]&sub_id=[USER_ID]&ip=[USER_IP]" \
  -H "Authorization: Bearer [BEARER_TOKEN]"

Android Integration

Open the offerwall in Chrome or embed it in a WebView inside your Android app.

WebView myWebView = new WebView(activityContext);
setContentView(myWebView);
WebSettings webSettings = myWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
myWebView.loadUrl("https://splitgrid.net/iframe.php?api_key=[API_KEY]&sub_id=[USER_ID]");

iOS Integration

Open the offerwall in Safari or use WKWebView inside your iOS app.

import UIKit
import WebKit

class ViewController: UIViewController, WKUIDelegate {
    var webView: WKWebView!
    override func loadView() {
        let webConfiguration = WKWebViewConfiguration()
        webView = WKWebView(frame: .zero, configuration: webConfiguration)
        webView.uiDelegate = self
        view = webView
    }
    override func viewDidLoad() {
        super.viewDidLoad()
        let myURL = URL(string: "https://splitgrid.net/iframe.php?api_key=[API_KEY]&sub_id=[USER_ID]")
        webView.load(URLRequest(url: myURL!))
    }
}

React Native

Use the Linking API to open in the system browser, or embed with react-native-webview.

import { Linking } from 'react-native';
Linking.openURL('https://splitgrid.net/iframe.php?api_key=[API_KEY]&sub_id=[USER_ID]');

Offerwall Parameters

Parameter Description Type
[API_KEY] Unique API code provided when you registered your website varchar(32)
[USER_ID] Unique identifier of the user viewing the wall on your site varchar(32)
[USER_IP] IP address of the user (for API endpoints) string
[BEARER_TOKEN] Authorization token for API access string

Offerwall SDK (JS) NEW

A dependency-free, vanilla JavaScript SDK for building a fully custom offerwall UI on your own website. Every function returns raw data; there's no built-in HTML/CSS, so you have complete control over the look and feel.

<script src="https://splitgrid.net/sdk/SplitGrid-offerwall-sdk-v1.js"></script>

const wall = new SplitGridOfferwall({
  apiKey: '[API_KEY]', // required
  subId: '[USER_ID]', // required
  pagination: { enabled: true, pageSize: 10 }
});

wall.getOffers('surveys').then(result => {
  result.items.forEach(item => {
    console.log(item.title, '+' + item.reward);
  });
});

Faucet Scripts

We provide ready-made integration guides for the most popular faucet scripts.

VieFaucet 4.3 Integration

Step 1 — Open application/controllers/wh.php and add this before the last closing bracket }:

public function SplitGrid() {
    $secret = "YOUR_SECRET_KEY"; // YOUR SECRET KEY
    $userId = isset($_REQUEST['subId']) ? $this->db->escape_str($_REQUEST['subId']) : null;
    $transactionId = isset($_REQUEST['transId']) ? $this->db->escape_str($_REQUEST['transId']) : null;
    $reward = isset($_REQUEST['reward']) ? $this->db->escape_str($_REQUEST['reward']) : null;
    $signature = isset($_REQUEST['signature']) ? $this->db->escape_str($_REQUEST['signature']) : null;
    
    if (md5($userId . $transactionId . $reward . $secret) != $signature) {
        echo "ERROR: Signature doesn't match"; return;
    }
    // ... complete processing code as per original documentation ...
    echo "ok";
}

Step 2 — Open application/controllers/offerwall.php and add the iframe view.

Step 3 — Add a menu link in application/views/user_template/template.php.

🔗 Set your Postback URL in SplitGrid dashboard to: https://yourdomain.com/wh/SplitGrid

VieFaucet 4.4 Integration

Integration for VieFaucet 4.4 follows the same steps as 4.3 with a minor difference in the notification helper function name (uses currencyDisplay() instead of currency()). Postback URL is the same: https://yourdomain.com/wh/SplitGrid

CryptoFaucet / ClaimBits Integration

Create the file system/gateways/SplitGrid.php:

<?php
define('BASEPATH', true);
require('../init.php');
$secret = "YOUR_SECRET_KEY";
$userId = $_REQUEST['subId'] ?? null;
$transId = $_REQUEST['transId'] ?? null;
$reward = $_REQUEST['reward'] ?? null;
$signature = $_REQUEST['signature'] ?? null;

if (md5($userId . $transId . $reward . $secret) != $signature) {
    echo "ERROR: Signature doesn't match"; exit;
}
// Credit user logic here
echo "ok";

📌 Currency must be set to credits. Postback URL: http://yourdomain.com/system/gateways/SplitGrid.php

Server-to-Server Postback

Whenever a user completes an offer, SplitGrid sends an HTTP POST request to your Postback URL with all the information needed to credit your users automatically.

Postback Parameters

Parameter Description Example
subId Unique identifier of the user on your platform user123
transId Unique transaction ID — use to prevent double-crediting XX-12345678
reward Amount of virtual currency to credit 1.25
status 1 = credit, 2 = chargeback 1
signature MD5 hash for verification 17b4e2a...

Security & Signature

Always verify the signature parameter to confirm the postback originates from SplitGrid servers. SplitGrid sends both algorithms so you can choose which one fits your backend:

Standard SHA-256 Signature (Recommended, parameter: signature):
// Sort all received parameters alphabetically by key (excluding 'signature'), concatenate values separated by your secretKey:
ksort($params); // remove $params['signature'] first
$stringToSign = implode($secretKey, $params);
$expectedSig = hash('sha256', $stringToSign);
Legacy MD5 Signature (parameter: sig_md5 or macro {sig_md5} / {signature_md5}):
$expectedMd5 = md5($subId . $transId . $reward . $secretKey);

You can find your Secret Key and Bearer Token in the My Apps section of your publisher dashboard.

Interactive Postback Tester Tool

Test Before Sending Live Traffic

You never need to guess whether your postback script is receiving parameters or verifying signatures accurately. SplitGrid includes a real-time Postback Tester tool directly in your publisher dashboard:

Location: Apps & Websites → Postback Tester
  • Simulate live offer completions with custom subId and reward amounts.
  • Automatically calculates the authentic cryptographic MD5 signature using your app's secret key.
  • Pings your server and immediately displays your server's exact HTTP status code, response headers, and output body to verify it returns OK.

Expected Server Response

When your postback script successfully credits the user, your server must respond with HTTP 200 and print:

OK

Any response other than "OK" (or a non-200 HTTP code) will cause the postback to be logged as failed and queued for automatic retry.

Full PHP Postback Example

<?php
$secretKey = "YOUR_APP_SECRET_KEY";

$subId     = $_REQUEST['subId']     ?? '';
$transId   = $_REQUEST['transId']   ?? '';
$reward    = $_REQUEST['reward']    ?? '';
$signature = $_REQUEST['signature'] ?? '';

// Validate signature
$expectedSig = md5($subId . $transId . $reward . $secretKey);
if ($signature !== $expectedSig) {
    http_response_code(403);
    exit("ERROR: Invalid Signature");
}

// TODO: Credit user in your database with $reward points/currency

// Always print OK on success
echo "OK";

Advertising Types

SplitGrid offers 9 different advertising formats to reach your audience across a network of 5,000+ active publisher websites, faucets, and GPT platforms.

Type Billing Model Best For Min Budget
All-in-One (AIO) Packs Multi-format bundle (PPC + Pop + Banner + Notif) Maximum multi-channel reach $1.00 (12 levels up to $10k)
PTC / Video Per click (CPC) / Per view Traffic, YouTube promotion Per pack
Direct Link Flat publisher reward / promo rotator Publisher direct monetization Platform Rotator
Shortlink Reward × visits × tier multiplier Link monetization $0.10
Task Ads (Reward × limit) × 1.15 Social actions, reviews $0.0575
Push Notification $0.0001/view + $0.001/click Broad awareness $1.00
PopUp $0.0008 per unique visit Landing pages $1.00
Banner $0.0015 per unique click Brand visibility $1.00
Sponsored Flat rate (duration/placement) Brand presence $5.00+
Social Promotions Per engagement / action Social reach & community $1.00+
Faucet Listing $0.10 / day Directory promotion & voting $0.10
CPA Per confirmed action Installs, registrations $10.00

All-in-One (AIO) Advertising Packs

4 Ad Formats in 1 Campaign

AIO Packs give advertisers the best value by bundling PTC/PPC views (10s duration), Pop Ad clicks, Banner clicks, and Push Notification impressions into a single campaign order. Sub-campaigns are automatically created across all format engines and activated upon admin review.

PPC / PTC

10s guaranteed view

Pop Ads

Targeted pop visits

Banners

All standard sizes

Notifications

Global user alerts

PTC & Video Ads

Guaranteed View Duration & Traffic

Paid-To-Click (PTC) campaigns guarantee active user focus for a chosen duration. The platform uses a real-time heartbeat to ensure users keep the tab open and active.

Micro (2s)
Quick awareness
Mini (5s)
Standard rapid traffic
Standard (10s)
Default engagement
Medium (15s)
Landing page reads
Extended (30s)
Video & signups
VIP (60s+)
Maximum exposure

Referrer Header Spoofing

Advertisers can configure referrer headers (Google Organic, Twitter/X, or SplitGrid) so incoming clicks appear organic in analytics.

Task Ads (Micro-Jobs)

Custom Action & Proof Review

Create custom micro-tasks such as app downloads, social follows, reviews, or signups. Users submit proof (text or screenshots) and advertisers review and approve them within a 48-hour window.

Fee Structure:

Total Campaign Cost = (Reward per task × Limit) × 1.15 (15% platform review & hosting fee).

Push Notification Ads

Platform-wide Global Push Alerts

Notification ads appear as rich, clickable alert bars at the top of every platform page for active logged-in users. Includes icon, title, description, and direct target link.

Pricing Model $0.0001 per view + $0.001 per click. Minimum deposit: $1.00.
Targeting & Approval Country targeting (T1/T2/T3) with admin queue moderation before broadcast.

PopUp / Pop-Under Ads

Full-Page Landing Page Visits • 100% Fill Rate

Pop-under ads trigger unobtrusively in a background window when a visitor interacts with an approved publisher website. This provides maximum 100% full-page exposure for landing pages, faucet portals, and crypto offers.

For Advertisers

  • • 24-Hour Unique IP Guarantee: Campaigns only pay for unique visitors per 24 hours. Repeat visitors within 24h never deplete your campaign balance.
  • • GEO Targeting: Target worldwide (ALL) or select specific countries.
  • • Affordable PPV: Low CPM rates with transparent per-visit tracking.

For Publishers (Dual-Tier Monetization)

  • • Tier 1 (Advertiser Ads): Earn an 80% revenue share whenever a visitor matches a sponsored campaign.
  • • Tier 2 (Fallback Ads): 100% fill rate guarantee. If no advertiser ad matches, fallback rotators ensure zero traffic is wasted.
  • • Instant Balance Credit: Earnings reflect immediately in your publisher account.

Publisher Script Embed Tag

Place right before </body>
<script src="https://www.splitgrid.net/serve/popad.js" data-f="1" data-t="24" data-pid="YOUR_PUB_ID"></script>

Frequency Capping Parameters:

• data-f="1": How many times the popunder triggers per time period.

• data-t="24": The frequency time window in hours (e.g. 24 = once every 24 hours).

• data-pid: Your unique publisher ID.

Banner Advertising Network

Display Ads Across Approved Publisher Domains

Banner campaigns rotate across approved publisher websites with 24h IP uniqueness per campaign. We support all industry standard formats: 468x60, 728x90, 300x250, 300x100, 160x600, 300x600, and Responsive.

Publisher Iframe Placement Code

<iframe src="https://splitgrid.net/serve_banner.php?key=YOUR_PLACEMENT_KEY&size=728x90" width="728" height="90" frameborder="0" scrolling="no"></iframe>

Sponsored Links

Fixed Header & Footer Placements

Fixed duration sponsored links placed prominently across top traffic areas of SplitGrid. Priced on a flat daily/weekly rate starting at $5.00.

Social Promotions

Community & Channel Growth

Targeted follower and subscriber growth across Twitter/X, Telegram channels, YouTube channels, and Discord servers with automated verification.

Faucet Listings ($0.10/day)

Directory Promotion & Community Voting

List your cryptocurrency faucet or reward platform on the public Faucet List directory (/faucet_list.php) and directly inside the Offerwall iframe.php Faucet tab. Gain real daily traffic and earn reputation through community voting.

Affordable Daily Rate $0.10 per day charged upfront. Choose from 1 to 365 days with instant renewal.
Dedicated Review Page Every faucet receives a custom review & voting page (/faucet_detail.php?id=X) with sponsor ad slots and social sharing.
Dual Network Presence Appears both on the public SplitGrid frontend directory and inside all active publisher offerwalls.

CPA Advertising

CPA System — Overview

The CPA (Cost Per Action) system lets advertisers run performance-based campaigns. Your balance is only charged when a real user completes a defined action — install, register, deposit, and so on. Campaigns are distributed automatically across publisher offerwalls on the network.

For Advertisers

Create campaigns, set payouts, integrate S2S postback, pay only on confirmed conversions.

For Publishers

Approved CPA offers appear automatically in your offerwall. No manual setup needed.

Anti-Fraud Built-In

Duplicate detection, IP allowlist, proxy detection, and postback-level geo validation.

Server-to-Server (S2S) Postback

Whenever a user completes an offer, your tracking system (or MMP) sends an HTTP GET request to our Postback URL with the information needed to credit the user automatically.

Step 1 — Include {click_id} in your Destination URL

https://myapp.com/download?click_id={click_id}&ref=SplitGrid

Step 2 — S2S Postback Endpoint (Method A: Header Auth)

curl -X GET "https://splitgrid.net/track/postback.php?click_id=CLICK_ID&status=approved&event=your_event_name" \
-H "X-Postback-Secret: YOUR_SECRET"

Step 2 — S2S Postback Endpoint (Method B: URL Auth for MMPs)

https://splitgrid.net/track/postback.php?click_id=CLICK_ID&secret=YOUR_SECRET&event=your_event_name