Identicons for Stellar addresses
Personalizing your Stellar experience
Depersonalized public keys
Ever been in one of those situations where you need to send funds over, but not immediately sure which public key you are looking at or if it’s the correct one? We sure did.
That’s because Stellar addresses are depersonalized at their core — you usually can’t tell much by looking at the address alone. Unless you are sending to this address quite often, of course.
You might mention federation addresses. Sure, federation addresses bring a certain level of personalization and are easy to remember, but also come with complications and are not supported by every service yet.
Double-checking the receiver’s public key never hurt anybody. But what if you had a way to reliably identify an account just by a quick glance?
Say Hi to Identicons
With the goals of personalization and utility in mind, the LOBSTR team is excited to introduce identicons to the Stellar ecosystem.
Identicons are distinct pixel-style icons generated based on the public keys of Stellar wallets using a simple API-based tool.
These easy to remember icons are like an avatar for your wallet. They can be used in the interface of products built on the Stellar network to enhance user experience and allow identifying addresses at a glance.
As every project can use the same tool or code, one Stellar address will have the same identicon across different projects.
Android users of LOBSTR wallet are the first to get identicons. Simply update your app to version 4.5.1 and open the updated Receive screen. iOS and web apps are soon to follow.
Identicons are here to help
We believe identicons would be useful in crypto products since:
- they allow you to quickly distinguish between different addresses
- help verify that you are sending funds to the correct account
- help visualize the history of transactions or multisig configuration
- you are getting a cool personal icon for your wallet
Some of the restrictions are:
- Identicons are not strictly unique as the number of Stellar accounts is far greater than a number of possible identicon variations. However, the chance of two accounts having the same icon is negligible due to the substantially large number of possible scheme and color combinations.
- Can’t be effectively used by exchanges using a common public key and memo routing to serve multiple users.
Open for everyone to use
Improvement of the ecosystem is all about collaboration. That’s why we aim to make identicons easily accessible for other projects building on Stellar.
And since it would be confusing to see one Stellar address visualized differently in various products, we have built a dead-simple API tool for anyone who would want to integrate identicons in their product.
So how do you get an identicon? Let’s say you have a Stellar address:
To get the identicon for this address, use the following URL:
All you need to do is make a GET request to obtain the image:
We have also open-sourced the code used to generate identicons for those interested in direct integration.
See the following Github repositories for more details:
- Python: https://github.com/Lobstrco/stellar-identicon-py
A few more details about identicons
If you are interested in integration, you might want to know that each identicon:
- is generated only once, then saved and served fast
- is served through global CDN (Cloudfront) for fast delivery and high availability
- is served as a square image in PNG format
- has a file size of <1KB
- has dimensions of 200x200 pixels
- can be generated locally using open-sourced code
We believe this makes identicons ideal for most use cases and projects built on Stellar.
Expect to see more identicons in LOBSTR, StellarTerm and LOBSTR Vault in the upcoming months, as we integrate them with existing functionality.
Here is an early example of how identicons can enhance the transaction history in LOBSTR app:
We would be happy to see identicons integrated into other wallets, ledger explorers, exchanges and other projects on the Stellar network.
Feel free to reach out, we are always eager to cooperate!