Getting Started
How It Works
From the moment a user clicks “Pay” to the merchant receiving INR — every step explained.
The settlement flow
The frontend calls auron.getQuote(inrAmount). Auron fetches the live rate from CoinGecko, applies a 0.5% spread, and returns the USDC amount the user must send. The rate is locked for 60 seconds.
The user approves in Phantom. A TransferChecked SPL instruction moves USDC from the user's ATA to Auron's treasury ATA. The private key never leaves the wallet — your app only receives the confirmed signature.
Once Solana confirms, the frontend sends the signature and payment metadata to Auron. No funds are sent to Auron — only the cryptographic proof that the on-chain transfer happened.
Auron fetches the parsed transaction from a Solana RPC node and runs six independent checks. A failure at any layer halts the payment with a descriptive error — no partial settlements.
If all checks pass, Auron triggers a Razorpay Payout for the INR equivalent to the merchant's UPI ID. Idempotency keys are stored in Vercel KV so a retry never double-pays.
The merchant's UPI app shows a credit notification — typically within 2–3 minutes. They never need to know a blockchain was involved. You receive a UTR for reconciliation.
The 6 verification checks
Network reference
NEXT_PUBLIC_SOLANA_NETWORK to mainnet-beta.