Useroutr
Users pay with whatever they already have. Apps receive exactly what they asked for. Everything settles on Stellar in between.

Every app wants to be paid in a particular way. Every user wants to pay with whatever is already in their wallet. Useroutr sits in the middle and makes both of them right.
An app describes what it needs: an amount, an asset, a network. Useroutr quotes it, finds a route, spots the payment, settles it on Stellar, reconciles, credits the app's ledger and tells the app it's done. I build the backend that does all of that, and the Soroban contracts underneath it.
- Once
- Every financial effect lands exactly once, however often a job retries
- 7
- Background jobs working behind every payment
- 1
- Network where everything settles: Stellar
What I built
Funding intents
Apps don't wire up payment methods one by one. They declare the outcome they need, and Useroutr works out how each user can get them there.
Money moves exactly once
Retries happen and networks hiccup. Every financial effect is applied once, every state is explicit, and the money logic is deterministic, so the same inputs always produce the same ledger.
No favourite provider
Payment rails like Circle's CCTP plug in behind one interface. A provider can change without the core ever noticing.
A worker that never clocks out
Payment monitoring, settlement, refunds, reconciliation and webhooks run as background jobs on BullMQ, so a payment keeps moving even when nobody is watching.
Contracts only where they earn it
Soroban contracts handle what has to be trustless. Everything else stays off-chain, where it's cheaper to run and easier to change.
