Complexity: High — 200 pts
Summary
One of Stellar's primary use cases is cross-border payments. This issue builds a "Send Money" flow targeting the NGN → USDC corridor — a key route for Nigerian users. It shows the live NGN/USD rate, calculates how much USDC the recipient gets, and executes everything in one Stellar path payment.
Files to Create/Modify
- Create:
src/lib/forex.ts
- Create:
src/pages/CorridorPage.tsx
- Modify:
src/App.tsx — add /send-money route
- Modify:
src/pages/DashboardPage.tsx — add "Send Money" quick action button
Implementation Notes
forex.ts
export async function getXlmNgnRate(): Promise<number | null>
export function calculateUsdcOutput(ngnAmount, xlmNgnRate, xlmUsdcRate): { xlmNeeded, usdcOut, effectiveRate }
Use CoinGecko's free /simple/price?ids=stellar&vs_currencies=ngn,usd endpoint (no key needed) for the NGN/XLM rate.
CorridorPage layout
You send (NGN equivalent): [50,000] NGN
≈ 28.5 XLM needed · Rate: 1 USD = 1,580 NGN
Recipient receives: ≈ $31.64 USDC
To: [G... address] [Send Money]
- NGN input drives live calculation using
getSwapQuote (XLM→USDC on-chain rate) multiplied by the live NGN/XLM rate
- Builds a single
pathPaymentStrictSend operation (source XLM → destination USDC)
- Confirmation screen before signing shows: amount sent, amount received, exchange rate, network fee
Acceptance Criteria
Screen Recording Requirements
- Open Send Money, enter 50,000 NGN
- Live FX rate loads — XLM needed and USDC output shown
- Enter recipient Stellar address
- Confirmation screen shows full breakdown
- Sign with Freighter → payment executes in under 5 seconds
- Recipient's USDC balance increased on Stellar Expert
Complexity: High — 200 pts
Summary
One of Stellar's primary use cases is cross-border payments. This issue builds a "Send Money" flow targeting the NGN → USDC corridor — a key route for Nigerian users. It shows the live NGN/USD rate, calculates how much USDC the recipient gets, and executes everything in one Stellar path payment.
Files to Create/Modify
src/lib/forex.tssrc/pages/CorridorPage.tsxsrc/App.tsx— add/send-moneyroutesrc/pages/DashboardPage.tsx— add "Send Money" quick action buttonImplementation Notes
forex.tsUse CoinGecko's free
/simple/price?ids=stellar&vs_currencies=ngn,usdendpoint (no key needed) for the NGN/XLM rate.CorridorPagelayoutgetSwapQuote(XLM→USDC on-chain rate) multiplied by the live NGN/XLM ratepathPaymentStrictSendoperation (source XLM → destination USDC)Acceptance Criteria
strictSendPathsfor on-chain XLM/USDC ratepathPaymentStrictSendtransaction (not two separate ops)Screen Recording Requirements