Official SDKs
Integrate TesterPayKit into your workflow with our official SDKs. Full type safety, comprehensive documentation, and active maintenance.
Flutter / Dart SDK
For Flutter apps and server-side Dart. Type-safe client with Freezed models, shake-to-report and session recording built in.
flutter pub add testerpaykit - ✓ Type-safe API client
- ✓ Freezed models included
- ✓ Shake to report a bug
- ✓ Session recording
Expo / React Native SDK
Drop-in wrapper for Expo and React Native: floating feedback button, voice bug reports, screenshot annotation.
npm install @testerpaykit/expo - ✓ Full TypeScript types
- ✓ Voice bug reports
- ✓ Screenshot annotation
- ✓ Works with Expo Router
Swift SDK
For iOS and macOS apps, with a built-in SwiftUI tester experience. Lives in our monorepo — not published to a public package registry yet.
Not publicly released yet - ✓ SwiftUI tester views
- ✓ Session recording
- ✓ Voice bug reports
- ✓ Same contract as the other SDKs
Quick Examples
See how easy it is to get started with each SDK
import 'package:testerpaykit/testerpaykit.dart';
final client = TesterPayKit(
apiKey: 'tpk_live_your_api_key',
);
// Create a test campaign
final campaign = await client.campaigns.create(
CreateCampaignRequest(
name: 'iOS Login Test',
platform: Platform.ios,
testersRequired: 5,
rewardPerBug: 4.00,
),
);
// Listen to bug reports
client.bugs.stream(campaignId: campaign.id).listen((bug) {
print('New bug: ' + bug.title);
}); import { TesterPayKit } from '@testerpaykit/expo';
const client = new TesterPayKit({
apiKey: 'tpk_live_your_api_key',
});
// Create a test campaign
const campaign = await client.campaigns.create({
name: 'iOS Login Test',
platform: 'ios',
testersRequired: 5,
rewardPerBug: 4.00,
});
// Get bug reports
const bugs = await client.bugs.list({
campaignId: campaign.id,
status: 'open',
});
console.log('Found ' + bugs.length + ' open bugs'); import TesterPayKit
// One line starts a session; the SDK does the rest.
try await TPK.start(projectId: "your-project-id")
// Wrap your root view to get the tester experience:
// floating feedback button, shake to report, voice notes
ContentView()
.tpkFeedbackOverlay() SDK Comparison
| Feature | Dart | TypeScript | Swift |
|---|---|---|---|
| Type Safety | Full | Full | Type Hints |
| Async Support | Streams | Promises | async/await |
| Auto Retries | Yes | Yes | Yes |
| Webhook Verification | Yes | Yes | Yes |
| Rate Limit Handling | Yes | Yes | Yes |
| Minimum Runtime | Dart 3.0+ | Node 18+ | Swift 5.9+ |
Ready to integrate?
Get started with a free account. No credit card required.