Closed testing, without the wait.
Join a closed group of 20 developers who test each other's apps every day. Free — no marketplace, no pay-per-tester. And unlike every other testing exchange, our SDK actually confirms a real person opened your build, not just that a code got typed in.
The only exchange that actually checks
Group-based testing exchanges aren't new. A backend that verifies real testers with a drop-in SDK is.
Real verification, not the honor system
Every tester binds a unique code inside your app. Our SDK confirms the exact build, package, and person before a single credit is earned — no more guessing who actually opened your app.
Testers see it too
A small in-app badge shows the tester they're being tracked for your campaign — day by day progress, right where they're testing. Toggle it per campaign in Dev mode.
No marketplace, no fees
Everyone in your group of 20 earns credits by testing, then spends them opening their own free campaign. No card on file, no per-tester pricing.
A real SDK, three platforms
Flutter, React Native, and native Android — configure once, and log/achieve calls, referrer parsing, and locale-aware dialogs all just work.
Built for a global group
The app, its notifications, and the SDK's own tester dialog speak 9 languages — matched automatically to each tester, not just the developer's own.
A trust score you can check
Every tester has a public reputation built from their streak, days tested, and campaigns joined — so you know who you're trading testing time with.
Can't wait for a group to fill up? Guarantee your testers.
Spend credits to open a private campaign and skip the group entirely — our own admin team hand-assigns real, verified 12tester accounts to it, so your closed test always gets the testers it needs. No luck of the draw, no waiting on strangers to join.
- 100% guaranteed real testers
- Hand-assigned by our own admin team
- Credits never expire, any app
Five lines, and every log is trustworthy
The same verification API, whichever stack your app is built on. No backend of your own to stand up.
import 'package:tester12_sdk/tester12_sdk.dart';
await Tester12.configure(apiKey: 'ak_your_app_key');
Tester12.identify(currentUser.id);
final referrer = await Tester12.readReferrer();
if (referrer.code != null) {
await Tester12.registerUser(code: referrer.code!, userId: currentUser.id);
}
await Tester12.achieved({'screen': 'checkout'});
// Drop this anywhere — self-fetches, self-hides:
const TesterBadge()Four steps to a cleared closed test
Join a group of 20
Sign in and join (or start) a closed group of 20 developers — that's Google Play's own minimum for closed testing.
Test daily, earn credits
Open a teammate's app once a day. Each verified day earns a credit — no test, no credit, decided server-side.
Drop the SDK into your app
Flutter, React Native, or native Android — a few lines, and your build starts reporting real, verified test activity.
Open your own campaign
Spend credits to get your group testing your app for free — with a live tester badge and progress they can see too.
Questions developers actually ask
Yes. There's no marketplace and no per-tester pricing. You earn credits by testing other apps in your group, then spend those credits opening a campaign for your own app.
Your closed test starts with one group.
Join free, test a couple of apps today, and open your own campaign once you're verified.