Inspiration
Millions of Africans abroad support people back home, but sending money is slow and fragmented. In Ethiopia, strict foreign-currency controls and limited access to international payment platforms mean families, students and small businesses can't easily receive, hold or use foreign currency online. Senders face long manual processes, informal channels, unclear exchange rates, and no proof that the money paid for what it was meant for, such as a school bill or electricity. We built DiasporaPay Agent to fix this, starting with Ethiopia and designed to extend across Africa.
What it does
DiasporaPay Agent lets a sender abroad pay in their own foreign currency (such as USD, EUR, GBP, CAD or AUD, where PayPal supports it) through PayPal checkout, using a PayPal account or card and wallet options where PayPal makes them available. The recipient in Ethiopia gets goods and services priced in Ethiopian birr (ETB), with no foreign-currency account needed.
The sender types or speaks a request such as "Send 25kg injera flour and $15 electricity to Mom." A Gemini-powered agent then:
- Searches a verified vendor catalog (it never invents vendors)
- Builds a cart with the sender's currency and ETB amounts
- Runs an AI safety check that rates risk Low, Medium or High with a one-sentence reason, and requires re-confirmation for High risk
- Asks for explicit human approval before any payment (human-in-the-loop)
- Creates and captures a PayPal Orders v2 payment (sandbox)
- Shows a receipt with the PayPal transaction ID, saves it to order history, and generates a family status page (Paid, Vendor confirmed, Delivered) in the recipient's language
Who it serves: families (food, electricity, health, daily needs), students (school costs; tuition and scholarship payments are on the roadmap), diaspora investors and entrepreneurs paying for business costs inside Ethiopia, and community groups supporting education or local projects.
Why it is different from a standard transfer:
- It pays for the need, not just cash, so the sender can see the outcome
- The sender pays in their own currency and the recipient is settled locally in ETB
- Low cost and efficient: one request, one checkout, fees shown before paying
- Transparent: every agent step is visible in the Agent Activity panel (Simple and Expert views)
- Inclusive: six languages (English, Amharic, Afaan Oromoo, Tigrinya, Arabic with RTL layout, French) and voice input where the browser supports it
How we built it
- PayPal: Orders v2 API and JS SDK in sandbox mode. The server recomputes totals and creates and captures orders. Secrets stay in server environment variables.
- Gemini API: function calling for the agent (search_catalog, build_cart, run_safety_check, create_paypal_order, get_order_status), safety scoring, intent parsing and multilingual messages, with a heuristic fallback if the model is unavailable.
- React, TypeScript, Tailwind, Node/Express. Built in Google AI Studio and deployed on Render.
- Custom i18n layer with RTL support, and Web Speech API voice input.
Challenges we ran into
Keeping the agent catalog-bound so it never hallucinates vendors, keeping totals identical across the cart, fee card and PayPal order, handling multiple currencies against ETB, and adding six languages including right-to-left layout without breaking checkout.
Accomplishments that we're proud of
A complete agentic-commerce loop from natural language to a captured PayPal sandbox payment, with human approval and a visible audit trail of every agent action.
What we learned
In payments, trust matters more than speed. Showing why the agent acted, and making it ask before moving money, makes AI usable for financial tasks.
Honest limitations
- PayPal runs in sandbox mode only; no real money moves.
- Vendors, schools, fulfillment and delivery are simulated for this prototype.
- Currency, card and wallet options depend on PayPal's sandbox configuration and buyer country; the demo is tested mainly with USD.
- Exchange rates are reference values, not live bank rates.
- Tigrinya and Oromo translations are machine-generated and need native-speaker review.
- The free Render instance may take up to a minute to wake on first load.
- The app supports inbound payments from abroad only. Payments from Ethiopia to foreign countries are not supported.
What's next for DiasporaPay Agent
- Ethiopia pilot: production PayPal keys, licensed local partners, verified vendors and real schools and universities
- Live multi-currency: real-time FX rates and more sender currencies
- Education: direct tuition and scholarship payments to registered institutions, with receipts for sponsors
- Investors and businesses: invoice-based payments to Ethiopian suppliers and projects, plus a merchant dashboard
- More payment rails: mobile money and wallets such as Telebirr, M-Pesa and MTN MoMo, alongside PayPal and cards
- More countries: catalog, currency and language layers are configurable, so new markets (Kenya, Nigeria, Ghana, Uganda) mean adding providers, currencies and languages
- Compliance: following each country's foreign-exchange, KYC and financial regulations
These are plans, not features that exist today.
Built With
- express.js
- gemini-api
- google-ai-studio
- node.js
- paypal
- paypal-checkout
- paypal-orders-v2
- react
- render
- tailwindcss
- typescript
