How SettleSettle Works
Developer understands the full flow before writing a line of code.
Step 1 — You integrate the SDK
Your app sends SettleSettle a signal every time a user does something billable. This is called a usage event. You define what counts as an event.
typescript
// User ran an AI prompt — tell SettleSettle it happened
settle.events.track({ userId: 'user_123', eventType: 'AI_QUERY' })Step 2 — SettleSettle applies your billing rules
Based on the rules you set in your dashboard:
- Does this user have credits? Deduct from their wallet.
- Have they hit their limit? Block access or show an ad.
- Are they on a paid plan? Record the usage for their invoice.
Earnings accumulate in your SettleSettle dashboard ledger. Upon request, assets flow seamlessly into your Nigerian bank account or directly into your Solana wallet.
Two API key types
| Key type | Where it lives | Used for |
|---|---|---|
App API Key (ss_live_...) | Your server's .env | SDK calls — event tracking, wallet, payments |
| Developer JWT | Obtained via settle.auth.login() | Dashboard operations — viewing earnings, requesting payouts |
Never put either key in client-side code (browser or mobile app).
Where your money lives
text
Option A: Traditional Rails (Fiat)
User pays ₦5,000
→ Goes to SettleSettle's Paystack account
→ Automatic split: 96.5% to your local bank / 3.5% fee
→ Real-time availability in your dashboard
Option B: Next-Gen Web3 (Solana)
User pays USDC / SOL
→ Instant Peer-to-Peer payment on Solana Mainnet
→ Directly settles in your Solana wallet
→ Absolute isolation and speed[!IMPORTANT] Onboarding Prerequisite: You MUST link your local Nigerian bank account OR add your Solana wallet address in the dashboard settings before deploying live. Linking a bank account enables Paystack dynamic subaccount splits. Link a Solana wallet for zero-latency Web3 payouts. If neither parameter is set, client initialization gates will fail.
