Stellar Trustlines — explained

If you are like me, you might have trouble understanding many things in the Crypto world. New jargon and new concepts are being invented it seems every day. Sometimes they are easy to understand, but sometimes it would be really nice to have it boiled down for me to understand.

I had a hard time understanding Trustlines, so I asked Reddit. The community responded, so in turn, I wanted to put the highlights of what I learned into a simplified text for others in a similar situation.

What are trustlines?

As I understand it now, Trustlines is just another word that you “trust” a particular asset from a particular issuer. For example, on Keybase, I can choose to “accept Trustlines” for the following.

USD from anchorusd.com
USD from realio.fund
USD from stronghold.co
USD from x.token.io

If I would choose to “accept a trustline” of the asset “USD” from the Issuer “Achorusd.com”. My wallet will be able to receive that asset and the sender knows that I accept it as a currency or value.

Receiving funds:

To simplify, we could apply the same principals to the diamond market.

Diamond from Debeers.com
Diamond from Tiffanys.com
Diamond from some-store-i-dont-know.com
Diamond from some-store-i-think-is-a-scam.com

If I would choose to accept a trustline for Diamond from Debeers, I am “opening up my wallet” so people who would want to pay me in Diamonds, know that I will accept Diamonds that have been approved by and sold on Debeers.com.

user PickingUnicorns (Champion) explained it like so.

If I owe you some USD, you might not want me to pay you with Dollar tokens that are issued by “Scam company”. You only trust dollars issued by “Trusted company”. So:

If you do NOT create a trustline to “Scam companies” USD, I can NOT pay you with it.

If you DO create a trustline to “Trusted companies” USD, I CAN pay you with it.

Sending Funds:

What is important to understand as well, is that you will need to be comfortable that others will accept your money, i.e. the asset that you received from the respective trustline.

A simplified version would be, if my brother Bob, whom I trust very much would send me an asset that is pegged to the USD he keeps in his desk drawer. If if you would want to send that anchor to a third person, Alice, it isn’t necessarily so that he will trust that your brother will keep the USD in his desk drawer.

So, Alice would think. “I have no idea of knowing that Bob still has his USD, so I will not allow you to pay me with this anchor.”

Why does it matter to have Trustlines?

Well, to me, in its simplest form, it allows me to have control of how I am being paid, and I will only accept assets that I trust. So nobody can just mail me a fake diamond and say. “IT’S A REAL DIAMOND!”, and I just have to choose to believe him or not, since I’m not a diamond expert.

But also, there is another reason for why you don’t want your wallet open up to all assets. That is, you can get “SPAMMED”. As I honestly understand do not the full implications of it, I am just willing to agree tothat it’s a bad thing. As anyone could send me stuff to my wallet and I don’t want worthless junk or evil junk in there, I can limit the options beforehand.

So anyone can freely keep sending me da Debeers diamonds, as much as they want, fine by me…just bring it on.

But I have more questions about Trustlines!
Lets examine the following questions I asked and Reddit user _kolten (SDF) replied.

A)
ME: Let us say I’m owed 10 USD by Alice and she is using realio.fund, but I do not trust them. But I trust stronghold.co. Is Alice not able to send me the USD and the payment will fail?

_kolten(SDF): Alice could use a path payment and during the transaction realio dollars would be converted to stronghold dollars in that case.

user PickingUnicorns explained this like so.

A path payment still works if the companies do no trust each other. What happens is that order books are matched.

To go from PayPal usd to bitcoin from apay could go like this :

t1: Sell “paypal usd” for “anchor usd”
t2: Sell “anchor usd” for “xlm”
t3: Sell “xlm” for “apay btc”

This happens All in 1 payment. As long as each of these trades has liquid order books it can happen. A path payment finds the cheapest, liquid path from a to B.

In the above example, using the diamonds analogy. You would send some random ass diamond on its way to me, but knowing that I won’t accept it…the Stellar network will find a buyer for it…and eventually exchange into for my coveted Debeers diamond.

But what is IMPORTANT to understand. Is that in order for the path payment to work, there needs to be someone on the network, that will be the counterparty in t2 example. (For instance, I now have approx 5LINK in StellarX wallet, that I can’t withdraw and nobody is buying on the exchange. But I’ll write another post about in a separate post.)

B)
ME: IF I receive 10 USD from Alice via realio.fund and Bob will send me via stronghold.co, assuming I trust both. Will they end up in the same wallet or two different wallets?

_kolten(SDF): They will end up in the same wallet but be shown as separate balances.

Using the diamonds analogy above, this would mean:

  1. I would have one bag of Debeer marked diamonds,
  2. I would another bag from Tiffanies “in my wallet”.

//

I hope you find this relevant and please send questions, if you have and idea on how to simplify, or deepen points.