Payments
Direct Payments
The simplest flow. No API needed.
- The payer goes to RSends and selects token, amount, and recipient.
- The Oracle verifies the transaction and signs.
- Transaction executes on-chain via the FeeRouter contract.
The merchant receives the net amount (minus 0.5% fee) directly in their wallet. No webhook, no callback — just an on-chain transfer.
Payment Intents (Merchant API)
For programmatic integrations. The merchant creates a payment intent via the API, gets back an intent_id, and passes it to the payer. When the payer completes the payment, RSends sends a webhook.
Create Intent
Response
The intent_id (e.g. pi_abc123) is what you pass to the payer. They use it to complete the payment on RSends.
Payment Matching
When an incoming payment hits the FeeRouter, RSends matches it against open payment intents. The match uses three fields:
- Amount — must match exactly.
- Currency— must match the intent's token.
- Recipient wallet— must match the intent's destination.
If a match is found, the intent status changes to completed and the webhook fires. If no match is found, the payment is recorded as a generic transfer — it still goes through, but no intent is fulfilled.
Intent Expiry