P2P Payment App XRPL IOU's or ILP or both?

Hi Everyone,

I am currently designing the backend for a P2P payment app, and am mulling the pros and cons of designing using the ILP or xrpl issued currencies. There a appears to be an overlap in the use case here. Do any of you have any feedback on what you think would be a better backend and why?
I am particularly thinking about connection to local bank ledgers to get currency into and out of the application which I believe may cleaner using ILP.

Much appreciated

You can use both! Once you have created the asset you can build a Settlement Engine that allow peers on the ILP network to settle using your IOU.

Hi @Dassy,

Glad you’re considering using these technologies for your application! These two payment systems offer different value propositions. If you’re looking for a simpler solution, it would likely be best to just use XRP ledger transactions. Interledger’s value begins to shine when you want to give your users optionality on the currency they want to use. For example, if you had one user that wanted to use XRP but another that wished to use USD then interledger would be a better choice.

The interledger community is actively developing settlement engines for new currencies. Today on the network we have BTC, ETH, XRP, and USD. We’re constantly expanding the set of currencies that interoperate so you can expect more to be added soon.

From my perspective, if you are developing the MVP of your application it might be best to use XRP transactions and just design a clean abstraction so that you could later swap out your payment system if you feel that would provide value to your users.

Let me know if you have any other questions!


Thanks for the replies @austin_king and @Jonathan_Green. Another question I have been wondering about is how Coil and XRPTipbot manage all of the payment pointers. Would you need to setup and run multiple servers continuously for each payment pointer that is created?

Hi @Dassy – you would not need an individual server for each payment pointer. You can have an arbitrary number of payment pointers directed at the same SPSP server if you wanted to manage multiple users. For example, XRPTipBot just routes multiple subdomains (twitter.xrptipbot.com, discord.xrptipbot.com, etc.) to a single SPSP server.

@austin_king I am still a bit confused on how you would link multiple xrp address’s and the accompanying payment pointers to a single SPSP server. Would you need to have a Moneyd instance running for each payment pointer? Or can you have multiple xrp addresses connect through 1 moneyd instance?

xrp address1 -> payment pointer1 -> moneyd1 -> SPSP1 Server
xrp address2 -> payment pointer2 -> moneyd2 -> SPSP1 Server
xrp address3 -> payment pointer3 -> moneyd3 -> SPSP1 Server


@Dassy it depends on if you plan to implement this in a custodial fashion or not. MoneyD is designed to only use a single crypto address so that’s probably not the tool that best suits your needs. Do you plan to run all of the “moneyd” instances for your users or would you expect them to run the moneyds on their end?

If you plan to run all of the moneyd instances for your users, I would advise just setting up a single regular connector (https://github.com/interledgerjs/ilp-connector or https://github.com/interledger-rs/interledger-rs) and managing all of your user’s funds in a single address in a custodial fashion.

If you plan to have each of your users run a moneyd of their own, would you be receiving the incoming SPSP requests and forwarding them along to their moneyds? For example, if you owned dassy.com would you have user Alice and Bob use payment pointers $dassy.com/alice and $dassy.com/bob? If so, you could receive the inbound requests and forward them along to Alice and Bob. If you did not plan to manage the payment pointers for your users it will likely be a difficult UX as your users would need to configure their own domains.

Thanks @austin_king, this was very helpful.


Absolutely, if any other questions come up I’m happy to help. Best of luck with your app!