Subscriptions, settled by phone.
Cards are rare here. Phones are not. Chia bills your customers over Airtel Money, TNM Mpamba and MTN MoMo every cycle - the prompt, the PIN, the retry, the receipt, the webhook. All of it.
Public beta · merchant of record · live in Malawi
Monthly Pro · renewal
Enter PIN to approve:
* * * *
{ "event": "payment.success", "amount": 4500 }
Three steps.
Then it runs itself.
You bring a plan and a price. Chia turns it into revenue that arrives on schedule, without anyone typing a USSD code from memory.
Create a plan
Name, price, billing interval. From the dashboard or one API call. Monthly, weekly, or any cycle your business runs on.
Share your page
Every business gets a hosted storefront and checkout. Customers subscribe with a phone number - no app install, no card.
Chia collects
Each cycle we prompt, confirm, retry on failure, and settle. You watch the money arrive; your customers just tap a PIN.
Mobile money fails loudly.
Chia is built for that.
Wallets go empty. Networks drop mid-prompt. A real subscription engine is a state machine that expects failure - here is ours, verbatim from the codebase.
Smart retries
Failed renewals retry on a schedule tuned to payday patterns, not naive exponential backoff.
Smart provider routing
As merchant of record, Chia picks the best rail for each charge and falls back automatically when one fails.
Webhooks, normalized
Every provider callback becomes one event shape. Deduplicated, signed, retried until your server says 200.
Built by developers.
For a Tuesday deadline.
- ✓Type-safe TypeScript SDK, open source on npm as @chiahq/sdk
- ✓Sandbox environment with test wallets for every provider
- ✓Hosted checkout, or fully headless via the intents API
- ✓MCP server - your AI assistant can operate your billing
billing.tsimport { ChiaSDK } from "@chiahq/sdk" const sdk = ChiaSDK.getInstance() // one call, any rail const payment = await sdk.collections.create({ amount: 4500, currency: "MWK", phone: "+265 884 123 456", })
Pricing that reads
in one breath.
per successful renewal. Provider fees and payout fees absorbed. No monthly fee, no setup fee, no charge for failures.
| Unlimited plans & subscribers | included |
| Smart provider routing with fallback | included |
| Hosted storefront & checkout | included |
| Webhook delivery & retries | included |
| Weekly payouts, every Friday | included |
| Failed payment attempts | free |