Settlement flow
Vonos sits between two gateways and settles their transactions in USDT. Neither gateway needs a direct relationship with the other — Vonos bridges the gap.A real example
A Venmo user wants to pay a mobile money (Momo) merchant in Uganda. Venmo and Momo are on different networks, different currencies, different continents. Here’s how Vonos makes it work:- The Venmo user initiates a payment to the Momo merchant.
- Venmo calls Momo’s
/payment/createendpoint, opening a pending payment and receiving a transaction ID (txid). - Venmo calls Vonos’
/transfer/createto credit Momo’s OCID with USDT, using thetxidas the reference. - Vonos debits Venmo’s reserve, credits Momo’s reserve, and returns a signed transaction proof.
- Vonos notifies Momo via its
/transfer/webhookwith the same signed proof. - Venmo calls Momo’s
/payment/settlewith the proof to complete the payment. - Momo credits the merchant.
Sending a payment
If you’re the sending gateway (Venmo in the example above):Open a pending payment
Call the recipient gateway’s
/payment/create. You get back a txid and their list of accepted settlement providers in settlement.accepts.Confirm Vonos is accepted
Check that Vonos’ OCID is in the recipient’s
accepts list. If it isn’t, the recipient needs to add it on their end.Settle via Vonos
POST to Vonos’
/transfer/create with the recipient’s OCID and the txid as the to.reference field.Receiving a payment
If you’re the receiving gateway (Momo in the example above):Accept the payment request
Handle the incoming POST to your
/payment/create. Return a txid and your accepts list (which should include Vonos’ OCID).Wait for the proof
Vonos will POST a signed transfer proof to your
/transfer/webhook once the settlement completes.