Inspiration
Most African SMEs trade without a safety net. Afreximbank's own 2025 African Trade Report puts it plainly: small and medium enterprises make up 80 to 90 percent of businesses on the continent, yet face a $331 billion financing shortfall, and only between 18–20% percent of African banks' trade finance portfolios support intra-African trade at all. In practice, that means when a Nigerian trader wires a deposit to a new supplier, there's usually no letter of credit, no trade-finance bank, no institution standing between them and the deal doing due diligence on their behalf. If the supplier isn't real, they find out the same way everyone else does, after the money is gone.
Picture the actual moment this happens: a trader in Lagos finds a supplier on a B2B marketplace. The price is good. The listing has a paid "verified" badge. They're one bank transfer away from a deposit.
That badge is where most people stop checking and it's exactly where the real risk starts. Most times A "verified" badge on a marketplace usually just means the seller paid for a subscription tier, not that the company, the bank account, or the person on the other end of the chat are real.
Tools already exist to check the paperwork. Vetrade, for instance, pulls together GSTIN status, Import Export Code, MCA company registration, and international equivalents (EU VIES/EORI, UAE/Saudi tax IDs) into a report and it's genuinely useful. But by its own account, a GSTIN can be active and still belong to a shell that's about to disappear. A registered address can be real, and the people behind it can still not be honest. Even Vetrade's own recommended checklist includes "a simple phone call to the landline" as a manual step, one it doesn't automate.
That's the gap TradeCheck fills: paperwork tells you the registration is real. A live phone call, made right now, tells you a human answers, confirms they're this company, and restates your specific deal's terms out loud.
What It Does
TradeCheck runs a two-layer verification on a trade counterparty before you commit to a deal:
- Documentary check — looks up the counterparty's GSTIN status against India's public GST portal in real time: active, cancelled, or unregistered.
- Live call verification — places a real outbound phone call, via CALL-E, to the number on file. The call confirms the business can be reached, confirms the person on the line represents the company you think you're dealing with, and asks them to restate the price, minimum order quantity, and payment terms they quoted in particular, what share of payment they want up front versus on dispatch, since an unusually large advance-payment demand is one of the clearest fraud signals in cross-border sourcing.
The result is a verdict Verified & Reachable, Discrepancy Found, or Could Not Verify — shown alongside the specific evidence that justifies it and a confidence score. Nothing is claimed that isn't also shown on screen.
TradeCheck verifies both sides of the deal, scoped to what's actually possible today:
- Checking a supplier (India) — the full two-layer treatment: GSTIN documentary check plus a live CALL-E phone call to the number on file, since India is one of CALL-E's supported calling regions.
- Checking a buyer (Nigeria) — a documentary check against Nigeria's Corporate Affairs Commission (CAC) public registry, by RC number or company name. No live call on this side — CALL-E doesn't currently support Nigerian phone numbers, so this half is intentionally documentary-only rather than pretending otherwise.
The demo focuses on the buyer-checks-supplier direction — a Nigerian trader verifying an Indian supplier, full two-layer verdict, live.
TradeCheck never shares personal or banking information on the caller's behalf, never agrees to a payment, and never places an order — it verifies and reports, nothing more.
How I Built It
Frontend: Built with Next.js (App Router) and React. The UI features a split-panel Workspace view and a persistent AI Copilot chat sidebar, styled with Tailwind CSS. Smooth transitions and a dark-first aesthetic make the verification flow feel like a premium compliance tool rather than a form.
AI Copilot: Powered by the Vercel AI SDK with Google Gemini as the underlying model. The Copilot collects supplier details conversationally — name, country, registration number, phone number — extracts structured data from the conversation, and orchestrates the two-stage verification pipeline entirely from chat. It also synthesizes the final documentary + call results into a plain-language risk summary for the user.
Documentary Verification:
Each region has its own API route (/api/verify/india, /api/verify/nigeria, etc.) that calls the appropriate registry. Responses are normalized into a shared schema so the frontend renders them consistently regardless of region.
CALL-E Integration: CALL-E's API was integrated to trigger outbound AI voice calls with a custom system prompt per region. Because CALL-E's current API does not natively expose a webhook-based transcript delivery that fits the real-time UI pattern, I implemented a polling mechanism: after a call is initiated, the app polls CALL-E's run status endpoint at intervals until the call concludes, then fetches the transcript. The transcript is then passed to Gemini for summarization.
Multi-Key Gemini Routing: To handle Gemini API rate limits under hackathon traffic, I built a multi-key rotation system. The app cycles through a pool of Gemini API keys, distributing requests to avoid 429 errors — making the experience reliable even under sustained usage.
Simulated Calls (Nigeria / China fallback): For regions where live calls are not possible or fail, Gemini generates a simulated call transcript using the documentary evidence as context, then summarizes it exactly as it would a real call transcript. This keeps the UX consistent and still delivers a meaningful risk signal.
Challenges I Ran Into
Same-country calling restrictions: CALL-E cannot currently place international calls from the same country as the destination for certain regions (specifically Nigeria). Rather than showing an error, I designed a graceful AI fallback that keeps the experience seamless for the user while being transparent about the simulation.
CALL-E transcript delivery: CALL-E's API doesn't expose a push webhook that fits cleanly into a server-rendered Next.js flow. I had to design and implement a custom polling mechanism on the server side to reliably capture call results including handling timeout, failure, and partial transcript states.
Gemini rate limits: With multiple verification steps each requiring Gemini calls (Copilot chat, transcript generation, summarization), hitting rate limits was a real risk. The multi-key rotation system was built specifically to solve this without degrading the user experience.
Registry API inconsistencies: Each country's registry returns data in a completely different format. Building a normalization layer that translates five different API response shapes into one consistent UI schema was more work than expected, and required careful handling of missing or null fields.
Accomplishments That I'm Proud Of
- A fully working, end-to-end supplier verification pipeline across 5 regions from conversational data collection to registry lookup to AI phone call to Gemini-powered verdict.
- A genuinely useful AI Copilot that guides non-technical traders through a compliance process without any forms or jargon.
- The multi-key Gemini routing system — a practical solution to a real production problem that most hackathon projects don't think about.
- Graceful degradation: the app never dead-ends. If a live call can't happen, you still get a meaningful, AI-generated risk assessment.
- The design — it looks and feels like a tool a real compliance team would actually pay to use.
What I Learned
- Voice AI platforms like CALL-E are powerful but require careful integration work that isn't always documented real-world usage surfaces edge cases the docs don't cover.
- Conversational UI (the Copilot) dramatically lowers the barrier to using a compliance tool. Extracting structured data from natural language and then acting on it is a compelling pattern for making complex workflows accessible.
- Registry APIs across jurisdictions vary wildly in quality, reliability, and response format. Normalization is not an afterthought, it's core infrastructure.
- Rate limiting is a first-class problem in AI applications. Multi-key rotation is a practical, effective solution worth building early.
What's Next
- More regions: AfCFTA member states are the priority — Ghana, Kenya, Ethiopia, Egypt, South Africa.
- Enhanced CALL-E prompts: Region- and industry-specific call scripts to probe for more targeted red flags (e.g., commodity fraud patterns for agricultural traders).
- Risk scoring: A composite score that weights documentary completeness, call confidence, and registry red flags into a single tradeable signal.
- Shareable verification reports: PDF or link-based reports a trader can share with their bank or trade-finance partner.
- Integration with AfCFTA trade portals: So traders get verification as part of the deal-making flow, not as a separate step.
Built With
- cac-api
- call-e
- gemini
- nextjs
- react.js
- tailwindcss
- typescript
- vercel-ai-sdk
Log in or sign up for Devpost to join the conversation.