Félix Pago
Remittances over WhatsApp, settled in stablecoins.
What it is
Félix lets US-based Latino immigrants send money home through a chat with an AI assistant inside WhatsApp — no separate app, no website. The sender funds with a US card/bank; Félix converts the value to USDC and settles cross-border on stablecoin rails, then a local payout partner (dLocal / Bitso) pays out in local currency direct to a bank or cash pickup. Transfers land in minutes (~99% success) instead of next-day, and the stablecoin rail is completely invisible to the end user.
How it works
- Sender messages Félix in WhatsApp; a conversational AI assistant (handling Spanish, slang, and voice notes) collects the amount, recipient, and payout method.
- Funding leg: the sender pays with a US card/bank, processed through Stripe (Payments + Connect for multi-party orchestration); KYC/AML runs on first use.
- Settlement leg: Félix converts the USD to USDC via Bridge/Circle liquidity and moves it cross-border on stablecoin rails — no correspondent banking, no SWIFT.
- Payout (last-mile) leg: dLocal (and earlier Bitso) off-ramps the USDC into local currency and pays the recipient direct-to-bank or cash pickup, typically in under two minutes.
- The recipient never touches crypto or an app — they just receive local-currency funds; the sender gets confirmation back in the same WhatsApp thread.
Differentiators
- Distribution via WhatsApp — meets users in the app they already live in, with zero download and a conversational (not form-based) UX.
- AI agent handles slang, cultural nuance, and voice messages — lowering friction for a demographic underserved by app-based incumbents.
- Stablecoin (USDC) settlement makes the cross-border leg near-instant and cheap, but stays invisible to sender and recipient.
- Minutes-not-days delivery with ~99% success and (per Stripe) ~90% card authorization — high for the remittance category.
- Vertically composed: Stripe funding + Bridge/Circle USDC + dLocal/Bitso payout, stitched into a single chat flow.
Business model
Transparent remittance fee per transfer + FX spread on the USD→local-currency conversion. New funding earmarked to add savings and credit products on top of the remittance base (cross-sell to an engaged user base).
Depends on
- WhatsApp / Meta (WhatsApp Business / Cloud API) — the entire distribution + UX surface
- An LLM / conversational-AI layer (intent, language, voice)
- Stripe (Payments + Connect) for the US funding leg
- USDC + Bridge / Circle for stablecoin liquidity and cross-border settlement
- dLocal (and Bitso) for regulated local-currency payout (last-mile)
- Money-transmitter licensing / partner sponsorship across corridors
Risks
- Platform dependence: the whole business rides on WhatsApp/Meta policy, API access, and pricing — a single point of distribution risk.
- Remittance + money-transmission regulation across many corridors; the multi-party compliance setup is operationally complex.
- Last-mile + FX concentration: leans heavily on dLocal for payout and on USDC/Bridge for the rail.
- Card-funding fraud and chargebacks on the inbound US leg.
- Crowded US→LatAm corridor (Remitly, Wise, MoneyGram, plus crypto-native rivals) — distribution and trust are the battleground, not the rail.
Architecture & mechanics
WhatsApp distribution & conversational UX
Félix's core insight is distribution, not crypto: its users already live in WhatsApp, so there's no app to download, account to create, or website to visit. The interface is a conversation with an AI assistant.
- Built on the WhatsApp Business / Cloud API — messages in and out are webhooks + send calls.
- Conversational AI handles Spanish, regional slang, and voice notes — not a rigid form, which matters for a first-time-digital demographic.
- Zero-install, zero-website funnel removes the biggest drop-off in remittance onboarding.
- Single point of distribution risk: the business depends on Meta's API access, policy, and pricing.
Stablecoin settlement + last-mile payout
Under the chat, Félix runs the classic 'stablecoin sandwich': USD → USDC → local currency. The sender funds in USD (Stripe), Félix settles the cross-border leg in USDC via Bridge/Circle, and a local partner pays out — making the rail invisible.
- Funding: US card/bank via Stripe Payments + Connect (~90% card auth per Stripe).
- Settlement: USDC over stablecoin rails (Bridge — a Stripe company — and Circle) replaces correspondent banking/SWIFT.
- Last-mile: dLocal (current) and earlier Bitso/Stellar off-ramp USDC and disburse local currency, typically <2 min, ~99% success.
- Net result: minutes-not-days delivery at lower cost than the 6–13% legacy remittance fees Félix set out to undercut.
Compliance & remittance licensing
Money transmission is the hard, regulated core. Moving consumer dollars across borders requires licensing/sponsorship in each jurisdiction, KYC/AML on senders, and cross-border reporting — orchestrated across multiple parties.
- KYC/AML gates the first transfer; sanctions screening on each send.
- A 'complex multi-party setup' is used to satisfy money-transmitter rules (per Stripe) — the real cost/moat center.
- Payout partners (e.g. dLocal) operate under local regulation per market and handle in-country compliance + reporting.
- Corridor expansion (Colombia, Ecuador, Peru, Nicaragua) each adds a new regulatory surface.
Risk & competitive position
- Platform risk: total dependence on WhatsApp/Meta for distribution and UX.
- Concentration: leans on dLocal for last-mile and USDC/Bridge for the rail.
- Fraud/chargebacks on card-funded inbound legs; FX volatility in LatAm corridors.
- Crowded corridor (Remitly, Wise, MoneyGram + crypto-native rivals) — moat is distribution + the engaged WhatsApp user base, into which Félix plans to cross-sell savings and credit.
How it's built
Architecture
Félix is a consumer remittance app with NO public developer API — what's interesting is how the stack is composed. The 'frontend' is WhatsApp itself: messages arrive via the WhatsApp Business / Cloud API as webhooks. An AI/agent layer (LLM-driven, multilingual, voice-capable) parses intent, runs KYC/onboarding, and quotes the transfer. Once confirmed, three back-end legs fire: (1) FUND — collect USD from the sender via Stripe (Payments + Connect for multi-party flows); (2) SETTLE — convert to USDC and move value cross-border via Bridge/Circle liquidity; (3) PAYOUT — call a last-mile partner (dLocal, formerly Bitso) to off-ramp USDC into local currency and disburse to the recipient's bank/cash point. State is tracked per transfer and pushed back to the user as WhatsApp messages. The hard parts are compliance orchestration (a multi-party MTL setup) and the conversational UX — not the rail itself.
Integration shape
To build something like this you compose three vendor APIs behind a chat agent: WhatsApp Cloud API (receive/send messages via webhooks), a payments API for funding (Stripe), and a stablecoin-payout API for settlement + last-mile (Bridge for USD↔USDC; dLocal/Bitso for local payout). The AI layer sits in the middle as an orchestrator: it maps free-form messages to a structured transfer object, then drives a state machine across the funding → settlement → payout legs, idempotently, with KYC gating before the first send.
API surface
WhatsApp Cloud API — webhook- [verify] Inbound message events (text / voice / interactive replies) POSTed to your server; verify Meta's signature, then route to the agent.
WhatsApp Cloud API — /messages- [verify] Send replies, quotes, and confirmations back to the user (text + interactive buttons / templates).
LLM / agent layer- [verify] Parse intent + entities (amount, recipient, payout method), handle Spanish/slang/voice; emit a structured transfer request.
Stripe Payments + Connect- [verify] Collect USD from the sender's card/bank; Connect orchestrates the multi-party money movement.
Bridge / Circle — USD↔USDC- [verify] Convert the funded USD to USDC and move value cross-border on stablecoin rails.
dLocal / Bitso — payout- [verify] Off-ramp USDC to local currency and disburse to the recipient's bank account or cash-pickup point.
Minimal integration
Illustrative: a WhatsApp webhook → AI intent parse → kick off a USDC-funded transfer (vendor calls stubbed; not Félix's real code).
// POST /webhooks/whatsapp — Meta delivers inbound messages here
export async function POST(req: Request) {
const body = await req.json();
const msg = body.entry?.[0]?.changes?.[0]?.value?.messages?.[0];
if (!msg) return new Response('ok'); // status/read receipts, etc.
const from = msg.from; // sender's WhatsApp number
const text = msg.text?.body ?? (await transcribe(msg.audio)); // voice notes too
// 1) AI layer turns free-form chat into a structured transfer
const intent = await agent.parse({ from, text });
if (intent.type !== 'SEND_MONEY') return reply(from, intent.reply);
// gate the first send on KYC
if (!(await kyc.isVerified(from))) return reply(from, await kyc.startFlow(from));
// 2) FUND: pull USD from the sender (Stripe)
const charge = await stripe.charge({ user: from, amount: intent.usd });
// 3) SETTLE: USD -> USDC, move cross-border (Bridge/Circle)
const transfer = await bridge.send({
sourceCharge: charge.id,
asset: 'USDC',
amount: intent.usd,
destination: intent.corridor, // e.g. 'MX', 'GT', 'HN'
});
// 4) PAYOUT: USDC -> local currency, last-mile (dLocal/Bitso)
const payout = await dlocal.payout({
transferId: transfer.id,
beneficiary: intent.recipient, // bank account / cash pickup
country: intent.corridor,
});
// 5) confirm back in the same WhatsApp thread
return reply(from, `Sent! ${intent.recipient.name} gets it in ~2 min. Ref ${payout.id}`);
}Build notes
- Treat the payout webhook/state — not the chat — as the source of truth; the transfer is a state machine (FUNDED → SETTLING → PAID / FAILED) and every leg must be idempotent so a retried WhatsApp message doesn't double-send.
- KYC/AML must gate the first transfer, and the multi-party money-transmitter setup is the real moat-and-cost center — far more than the chatbot.
- WhatsApp Cloud API has template/24-hour-session messaging rules and per-message pricing; design conversational flows around them.
- [verify] Félix exposes no public API or SDK — this surface is the composed building-block stack (WhatsApp + Stripe + Bridge/Circle + dLocal/Bitso), not a Félix product.