Anatomy of a Payment Pointer

Thank you for joining in on this discussion regarding payment pointers. What is a payment pointer anyways? Let's take a step back to understand why this is even important in the first place. If you have been a creator on Coil for any length of time, then you were provided a payment pointer that connects your Coil account to your XRP Tip Bot account.

Payment pointers are relatively new so unless you have a Coil account, you most likely don't have one. The only other reason you might have one is because you are a developer working on Web Monetization or Interledger. Adoption will take time as more and more use-cases are created.

Payment pointers are important for payment services such as Coil to know where to route payments.

So what is a payment pointer?

You are familiar with email, yes? I'm sure that most would attest yes, they have either sent or received an email at some point over the last 20 years. So what does email have to do with payment pointers? A lot, actually, and here's how.

Email, using Microsoft Exchange, POP3, IMAP, or even AOL if you're old school, allows one to send or receive data messages to their respective inbox(s). Think of a payment pointer as a way to send or receive an email, except you are moving value, aka money instead.

If I wanted to send you $100, I couldn't add it as an attachment to an email and send it off to you. Instead, I would send a payment directly to your payment pointer which would then place it in the account attached to that pointer.

Who came up with payment pointers?

If you want to thank specific people for their work on payment pointers, you can thank the ladies and gents over at the Interledger Community Group of the WC3, or the World Wide Web Consortium. The Interledger Community Group works to help build out the Interledger ecosystem. A couple names you may recognize from that community are Stefan Thomas, CEO of Coil, and Evan Schwartz, Co-inventor of Interledger.

It's time for an example

We've discussed why a payment pointer is important and also the purpose that it serves. Now it's time to show you what a payment pointer looks like.

$coil.xrptipbot.com/tJBD0R0GF1uvUAF7_oyrwq (example only)

As you can see, the address above is a unique identifier of a payments account, just like an email address highlights a specific email account. The “$” sign in front of the address serves as an obvious way to identify the address as strictly a payment address.

The address is clearly pointing to the XRP Tip Bot service, and notice that it also has a sub-domain of Coil in the front. The reason for this is because when a payment is sent from a payment initiation service to this type of address, the recipient account (XRP Tip Bot) knows that it's coming from Coil and only Coil.

Sending to a payment pointer (a bit techy)

In order for a payment client (think email client such as Exchange or Yahoo) to send funds to a payment pointer, it must first resolve the payment initiation service URL from the pointer.

For example, let's use the payment pointer referenced earlier.

$coil.xrptipbot.com/tJBD0R0GF1uvUAF7_oyrwq

When a client goes to send a payment to the pointer, it will resolve the address into an HTTP address. The result will look like this...

https://coil.xrptipbot.com/tJBD0R0GF1uvUAF7_oyrwq

Now, the client will use HTTP protocol to ask that URL which payment methods it supports at that location. Once the payment methods are discovered, the payment is sent using one of the payment pointer's verified methods.

Alrighty then...

Hopefully this article helped you discover more about payment pointers and how they work. Plenty more activity is happening behind the scenes, but I would rather not get too technical in this single article. Please stay tuned for more information on this topic in the near future.

Continue reading with a Coil membership.