Bruno Müller and Piyal Basu
As the crypto landscape changes, wallets have to change right along with it. For Stellar-based assets, Freighter 1.0 was initially released in 2020 to create a simple and safe alternative to copying & pasting private keys into different applications. Engineers working on Stellar also found it helpful for testing SEP (Stellar Ecosystem Proposal) implementations and building specific parts of our Wallet SDK (Software Development Kit). Since its initial release, Freighter has seen exciting adoption by ecosystem applications. StellarTerm, Litemint, Lumenswap are just a few examples of applications allowing their customers to pay or get paid with Freighter, along with other Stellar-compatible wallets.
It's 2022 now, and along with the growth of Stellar and its new protocol releases, we’re excited to give Freighter new capabilities and a refreshed user interface. In this post you’ll find out why and what we’ve updated with Freighter 2.0, and development we're planning for the future.
Since its release, Freighter has been a useful tool for trying out new SEPs. As new SEPs and protocols emerge, Freighter's original feature set was not enough. We saw the need to add more core features so we may continue testing new implementations. New Freighter 2.0 features will also help us devise a more complete and developer-friendly Wallet SDK.
In keeping with Stellar's culture, Freighter is also an open-source project. As new features launch, their components will be made available for ecosystem developers to reference. We want new applications on Stellar to learn more, develop features faster than ever, and succeed. Whether for technical or user experience purposes, Freighter will grow at the pace of the ecosystem.
Let's put Freighter into context for the Stellar ecosystem's future. SDF expects Project Jump Cannon will enable various new use-cases and applications. With smart contracts and updated capabilities, Freighter will be one of the starting points for anyone seeking access to decentralized applications on the Stellar network.
Freighter is most definitely not the only constantly-evolving Stellar browser extension out there. Where does Freighter compete or contribute to the rest of the ecosystem? As SDF develops and maintains Freighter, we stand ready to support and collaborate with other extensions. We believe many wallet options allow everyone to choose what's best for their use. A person may want the robustness of Albedo, or the flexibility of Rabet, and that's their choice. Stellar's network is healthy when many wallet applications are supported, providing everyone flexibility.
Freighter 2.0 has the ability to create, sign, and submit transactions directly from the extension. Freighter 1.0 relied on external web apps to handle creation and submission to Horizon. To update this, we are leveraging Stellar SDK to create a transaction XDR (External Data Representation). From here, with the user’s consent, we fetch the user’s public/private key pair from within Freighter to sign the transaction. This signed transaction is then submitted to Horizon, all without the user having to leave the extension. This opens up a world of possibilities for future additions to Freighter. In Freighter 2.0, we’re starting with two fundamental actions: adding trustlines and sending payments.
In addition, we’ve given Freighter a facelift. Using our own Stellar Design System, we’ve reskinned Freighter’s UI to bring it more in line with SDF’s other tools. Not only does this create a clearer brand identity for Freighter, but also by using premade UI elements, we can move faster to add more features and enhancements. The goal is to continue iterating over Freighter’s current UI and work towards a best-in-class wallet user experience.
Freighter still offers a simple onboarding flow where a Stellar user can generate a new public/private keypair in just minutes. Existing Stellar users can quickly import an account by either mnemonic phrase or private key. Once a user has a keypair active, they can start sending payments and managing trustlines from the extension’s home screen.
To add a trustline, a user can click the “Manage Assets” button on the main account screen. This flow will allow the user to add a trustline by searching for an asset by the asset issuer’s domain.
To send a payment, simply click the Send icon in the upper right corner of the main account screen and follow the step-by-step instructions.
For other transactions not currently available from within the UI, users can still utilize partnered web apps, such as our own Laboratory, to generate transactions using Freighter’s public key and then sign transactions using Freighter’s private key.
These are the first updates in a series of improvements we plan for Freighter. In the near future, people will be able to swap assets and manage claimable balances. In the future, we envision users having the power to interact with Stellar Anchors to on/off board new assets, integrate additional browser support, and speak to SEPs to enable new use cases.
Another focus will be towards user and ecosystem adoption. Freighter should not only serve for its technical purposes yet should also be an even more useful tool for everyday people and third-party applications. The new user experience and code updates are just a starting point to a more user and developer-friendly extension for the current and future applications in the Stellar ecosystem.