Using the Radix Wallet

This page describes intended capabilities for dApp developers on Radix at the release of the Babylon version of the Radix Network in Q2 2023. Until then, some capabilities and tools may not be available or fully-featured.

Introduction

The Radix Wallet is a crucial enabler of great user experience for Web3 and DeFi dApps on Radix.

First, the Radix Wallet is designed as a trusted point of personal control for the user. It is a mobile app where users can easily and confidently view and manage all of their accounts and assets “on ledger” on the Radix Network, as well as their Personas, personal data, and various preferences held “off ledger” locally in the app. It makes it easy for users to configure and use the multi-factor account features of the Radix Network that give users great security while not having to deal with seed phrases or passwords.

Even more importantly, the Radix Wallet is designed to let users connect to a limitless variety of dApps that developers (like you!) will create. With it, users can instantly sign in and make the contents of their wallet selectively available to your dApp, however they wish. It is designed to “get out of the way” and let you create whatever user experience you imagine, while relying on the wallet to represent the user and what they own.

radix wallet concept

So for you to build a user-facing dApp for the Radix network, you should build your dApp’s website frontend to interact with the Radix Wallet for things like logging users in using Personas, requesting account information, requesting pieces of personal data, and of course proposing transaction for the user to review and submit to the Radix Network.

The developer preview of the Radix Wallet mobile app gives you the essential features and interfaces for you to start testing these interactions with your dApp frontends, using a variety of provided tools and libraries.

What Works and What’s Coming

The first developer preview version of the Radix Wallet for betanet includes these essential features:

  • Create accounts on the Radix Betanet network

  • See tokens and NFTs held in accounts

  • Handle one-time requests from dApps for account addresses

  • Handle receiving transactions from dApps, and signing/submitting them

  • Automatic addition of a fee-locking instruction to transaction manifests from dApps

  • Link the wallet to a Radix Wallet Connector browser extension, for interacting with desktop dApps (via Radix Connect)

The user experience for even these functions is far from complete. For example, initially transaction manifests are shown as raw text in the wallet, rather than using the intended nice preview UI with the ability to set guarantees and more. Errors are passed through unfiltered. You may experience crashes. But what is present should be sufficient to confidently get started building.

It is expected that some developer-oriented features are coming to the preview wallet during the betanet and RCnet period. Some that are particularly high on the list for developers are:

  • Handling requests for Persona logins, and ongoing permission to account and personal data

  • Better transaction previews

  • Better asset information display

Not all features shown during the Web3 UX vision demo at RadFi will make the v1.0 release of the Radix Wallet at the Babylon Mainnet upgrade in Q2 2023 – but many of the most essential certainly will. And we’re certain v1.0 will provide a compelling first user experience for the public when using it to connect to your dApps.

Installation and Usage

Here’s how to get the Radix Wallet developer preview and start using it.

Install the Radix Wallet Preview

First, our initial developer Radix Wallet app release is available for iOS through Apple’s public beta testing app TestFlight. We’ll need to invite you before you can download the app. Start by signing up here:

If you’re waiting for an Android release, go ahead and sign up, and we’ll let you know as soon as it’s available.

Once you accept the invite, you’ll need to download Apple’s TestFlight app – and within that you should see the latest Radix Wallet app to download.

Go ahead and launch it, and you’ll quickly be led through creating your first account and then proceed to the main account list screen, which looks like this:

wallet main account list

Note the warning at the top of the screen. If it wasn’t obvious already, this wallet is for development purposes and cannot connect to the current Radix mainnet. It’s all funny money and temporary accounts for testing, and it will all go away before RCnet (or if Betanet gets reset), which will precede the Mainnet upgrade.

Get some test tokens

To do transactions on Betanet, you’ll need some Betanet XRD. To make it easy, we’ve temporarily included a faucet function in the wallet. Tap to open an account, and tap the …​ in the upper right.

wallet get test tokens

Click the “Get Betanet XRD Test Tokens” button, wait a few seconds, and you should receive plenty of (Betanet-only) XRD to do transactions.

Fun fact! Behind the scenes, the wallet just used your phone’s biometrics to authorize a signature on a transaction manifest that fetched the XRD from the faucet! Normally all transactions will pop up a special summary screen to review, but this faucet function is just a temporary shortcut for betanet.

Install the Connector

Connecting the Radix Wallet mobile app to dApp websites in a desktop browser requires a browser extension called the Radix Wallet Connector. This extension isn’t a wallet like Metamask – it’s a very simple agent that sits in the background and is only there to create the seamless, encrypted connection to your phone using Radix Connect technology.

At Babylon mainnet, the Connector will be listed on the Chrome store the normal way. For now, installing this preview version of the Connector means downloading the extension from Github and installing it using Chrome’s “developer mode”.

Download the preview Connector extension:

The link above will download the latest version of the Connector. The -dev on the end indicates that it is a version for developers. The only difference is that it is willing to interact with webpages served at `http:// URLs rather than more secure `https:// URLs. This is to enable frontend developers to interact with locally hosted webpages during development.

Unzip the radix-connector-dev.zip file on your computer and you’ll have a radix-connector-dev folder.

Now, open a new Chrome window and enter this into the URL bar: chrome://extensions/

You should now see a listing of all of your current browser extensions. In the upper right corner, see the switch for “Developer mode” and turn it on.

wallet chrome extension install

You should now have some new buttons. Click “Load unpacked” and select that radix-connector-dev folder.

You’ve now got the Radix Wallet Connector installed and in your list of extensions. When there’s a new version, just delete the folder, remove it in your extensions list, and repeat the above.

Linking Wallet and Connector via Radix Connect

The Wallet and Connector must perform a one-time linking process to establish their ability to find and communicate using Radix Connect whenever needed.

Click the “puzzle piece” extensions icon in Chrome’s menu bar to see this:

wallet chrome extension open

You may want to click the "pin" icon next to the Radix Wallet Connector extension so that its icon is always visible. Either way, click the extension itself to see its window, like this:

wallet chrome extension linking

Open the Radix Wallet on your phone, tap the gear icon on the upper right of the account list view, and tap the button for “Link to Connector”.

wallet scan QR

Scan the QR code in the Connector window on your desktop, wait a few seconds, and you’ll be asked to name this link in the Radix Wallet. You’re linked! No need to do this again.

wallet browser extension linked

The Connector’s QR code for linking will also automatically appear if you try to connect to a dApp website and you haven’t created any link yet.

Using the Dashboard dApp with the Radix Wallet

Now that you have a linked Radix Wallet and Connector, the easiest place to see how they work with dApps is to visit the preview version of the Radix Dashboard.

The Radix Dashboard will replace the current Radix Explorer at Babylon. Like the Explorer, it will let you search for transactions, accounts, and more – but it’s expanding into a real Web3 dApp where you can connect your Radix Wallet directly. For now, the Dashboard mostly has a few utility pages for developer use, but much more functionality will be coming at the Babylon mainnet release, like a nice interface for XRD staking to network validators.

In the upper right corner is the √ Connect button. This is a web component that any developer can use and import into their dApp website project that makes it easy to integrate to the Radix Wallet, and gives users an immediate indication that this is a Web3 site where they can use the Radix Wallet.

Click that button, select “Connect Now” and the Connector extension will automatically attempt to find your Radix Wallet.

Open the Radix Wallet on your phone, and you should receive a connection request from the Dashboard dApp. For the initial version of the Dashboard, all it needs from the wallet is a list of whichever accounts you want to use with it. (For a more complex website, it might have included a request for a Persona login or other things.)

Choose some, or all, of your accounts, click Continue, and your wallet will provide those addresses back to the Dashboard – and you’ll see that the √ Connect button now shows you as connected!

Now if you go to other Dashboard pages to deploy a package, send a raw transaction manifest (here are some examples to try), or send tokens, the Dashboard can use those addresses from your wallet to populate form inputs and construct transactions to send to your wallet. Try sending yourself some of those XRD test tokens, and you’ll see the transaction manifest (in raw form for now) that is sent to your wallet to sign and submit to the network.

Next Steps for dApp Developers

Now that you’ve got the Radix Wallet working, hopefully you’ll want to get started with understanding what a dApp on Radix is, and then getting started with building with Scrypto and building a simple dApp frontend.