Storefront
Server-rendered, on your domain and your palette. Type-led catalogue with facets that come from your product types rather than a fixed schema.
The platform
A marketplace is four surfaces and a lot of money movement. Here is how each part works and where the boundaries sit.
Server-rendered, on your domain and your palette. Type-led catalogue with facets that come from your product types rather than a fixed schema.
Where your vendors list products, submit verification, set a payout destination and watch their settlement window.
Approve vendors, manage product types, set your brand tokens, and see the ledger behind every order.
A Flutter app sharing the same design tokens as the web, so the two cannot drift apart by hand-editing one.
Two regions, two rails, one ledger.
| Capability | Nigeria | Cameroon |
|---|---|---|
| Checkout | Paystack — card, transfer, USSD | MTN and Orange mobile money |
| Currency | NGN, minor unit exponent 2 | XAF, minor unit exponent 0 |
| Vendor payout | NUBAN bank transfer, name-verified | Mobile money, subscriber-verified |
| Vendor verification | BVN, or CAC for a business | CNI, NIU or RCCM |
| Rail failover | Single acquirer | Campay, falling back to pawaPay on outage |
Failover is on provider unavailability — a timeout, a 5xx, an outage. Never on a customer-side decline, because retrying a declined payment on a second rail is how a customer gets debited twice.
Every marketplace is provisioned into its own Postgres database with its own credentials, and served by its own process. Your marketplace is resolved from the domain in the request, checked against a registry — never from a header or a token, because anything the caller can set is a way into somebody else's data.
It also means a restore is yours alone. Recovering your marketplace to this morning does not touch, pause or risk anyone else's.
Yes, and it is the intended setup. You point a domain at the platform, we verify you control it, and it becomes the only address your customers see.
You do. It sits in a database provisioned for your marketplace, and you can have a full export at any time. If you leave, you leave with it.
Your marketplace can be moved onto its own database server without changing anything you can see. The registry stores a full connection reference per marketplace precisely so that move is possible later.
Not today. Adding a country means a payment provider, a payout provider and a verification schema for that jurisdiction — all three are configuration rather than new code, but they have to exist before we can honestly say we support it.
No. You pay a subscription for the platform. What you charge your vendors, and what you keep, is yours to decide and yours to collect.
The marketplace is marked failed and the half-built database is kept rather than dropped, so the failure can be diagnosed instead of guessed at. You are not charged for a marketplace that never became usable.