SarafuPay now runs on four Render services
We upgraded the deployment so the money flow holds up even when things go wrong:
- Web Service (always on): no cold starts, so the first WhatsApp reply is instant for every judge.
- Postgres: the source of truth for collections, contributions, pledges and payouts.
- Key Value (private network): the AI cost guard now keeps its counters here, so limits survive deploys. If Key Value is unreachable, the app falls back to in-memory limits within a second.
- Cron Job (every 15 minutes): a safety net for lost webhooks. It re-checks pending PayPal orders, records captures that completed, finalises stuck payouts and prunes old de-dup rows. It reuses the same idempotent code as the webhooks, so a payment is never counted twice.
All four are defined in one Blueprint (render.yaml). The architecture diagram and design notes are in the README: https://github.com/ezekiellemana/sarafupay-ai#architecture-on-render

Log in or sign up for Devpost to join the conversation.