CoW Convert, an Open-Source Stablecoin Auto-Convert Widget for East African Earners

Grant Description

The problem

Kenya ranks among the highest countries in the world for stablecoin transactional use, driven by currency pressure and the M-Pesa mobile money culture. Freelancers and online workers increasingly get paid in USDC or USDT and need to convert between stablecoins, hold the one that suits them, and eventually cash out locally.

Today the tools around them solve fiat in and out, but not the conversion step in the middle:

  • MiniPay (Opera/Celo): M-Pesa payments and local-currency access, built around its own stablecoin set and partner liquidity providers.
  • Yellow Card: buy and sell USDT with M-Pesa; the cost is embedded in the spread rather than shown as a fee, and independent guides note spreads wider than Binance P2P.
  • Kotani Pay: a stablecoin-to-fiat off-ramp API and USSD service, i.e. the exit, not the swap.
  • Binance P2P: cheap at volume, but manual, custodial and not programmable.

None of these offers a non-custodial flow where a user states what they want (convert at a target rate, or convert in scheduled slices) and gets batch-auction execution with transparent fees. Users either accept whatever rate the screen shows at the moment they tap, or they do it by hand.

Why CoW Protocol

CoW already has the primitives this use case needs: signed intents settled by competing solvers, limit orders, and programmatic orders (ComposableCoW, including TWAP). CoW supports chains such as BNB Chain and Base through its SDK chain configuration. What is missing is a consumer-grade, localized reference application showing these primitives to a market that is large, stablecoin-heavy and currently not served by CoW-specific tooling.

What we will build

CoW Convert is a small, mobile-first, open-source web app and reusable widget template:

  1. Stablecoin pair conversion (for example USDC and USDT) on selected CoW-supported chains, with a clear quote screen that shows the fee, minimum received and order expiry in plain language before signing.
  2. Conversion on your terms: a limit-style order (“convert when the rate reaches X”) and a scheduled conversion (split a larger amount into slices over time) using CoW’s programmatic order support, with fallback to limit orders on any chain where the programmatic order contracts are not available (confirmed in Milestone 1).
  3. Order tracking: status, cancellation and expiry handling, with error messages written for non-expert users.
  4. English and Swahili UI from day one, with Swahili strings contributed to the CoW Swap Crowdin project if the Grants Council wants them.
  5. Hand-off to existing off-ramps: links and deep links to providers such as Kotani Pay and Yellow Card. We do not rebuild fiat rails.
  6. A “fork this template” guide so other African builders can ship their own CoW-powered front end in under a day.

Technologies: the official CoW SDK (trading and order signing, chain config) and/or the CoW widget library, Orderbook API, ComposableCoW for programmatic orders, a standard React and TypeScript front end, EIP-712 signing through wallet connectors, a custom appCode in order appData so all activity from this app is publicly attributable.

Hi @carl, thanks for the application and for the thought you put into the use case.

The committee has decided not to move forward with this one. The items it describes are already available to any builder through the CoW Widget (CoW Swap Widget | CoW Protocol Documentation), so we don’t see a gap a grant would fill.

Thanks again for the interest in building on CoW.