Skip to content
All work
Company · 2026

Useroutr

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

Useroutr screenshot

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.