Haudi Crypto, Inc.
Openloop is a hardware wallet for crypto assets, a FIDO2 security key, and a PKCS#11 signer all in one. It keeps your private keys safe and signs in an environment completely isolated from the internet.
Three ways to use it:
Key features:
★ Secure element: an NXP SE050 secure element (EAL6+ certified) protects your private keys in hardware.
Suggested reading order:
Why the recovery phrase (12 or 24 words) matters:
Things you must not do casually:
Things you must do:
▲ Getting the PIN wrong 10 times in a row makes the device automatically perform a factory reset. In addition to your wallet (recovery phrase), PIN, and all settings, your FIDO2 passkeys and PIV keys and certificates are also completely erased and can never be recovered. Crypto assets can be restored from your recovery phrase, but passkeys must be registered again at each service, and PIV keys must be regenerated with new certificates issued. After nine failures, wait for the lockout to clear and then enter the correct PIN calmly.
Please read the following terms of use and disclaimer before using this product. By using this product, you are deemed to have agreed to them.
The Openloop firmware and software are provided “AS IS.”
What you are responsible for:
The manufacturer and developers accept no responsibility whatsoever for:
▲ Crypto assets are extremely high-risk:
▲ Openloop is a signing-only device:
Before you use it, always:
Warranty period: 6 months from the date of purchase
Covered:
Not covered:
Scope of the warranty:
▲ The software is provided without warranty (AS IS)
There is no guarantee of any kind regarding crypto assets
If a failure or defect occurs:
▲ Important: when a device is repaired or replaced, all data on it is erased. Make sure you can restore from your recovery phrase first.
By using this product, you are deemed to understand and agree that:
Openloop respects your privacy and keeps data collection to an absolute minimum.
Openloop is an offline device
The following data is stored only on the device and is never transmitted:
| Data type | Storage | Purpose | How to erase |
|---|---|---|---|
| Private keys | Secure element (SE050) | Signing | Erase Wallet |
| Entropy | Secure element (SE050) | Recovery phrase generation | Erase Wallet |
| Seed | Secure element (SE050) | Private key derivation | Erase Wallet |
| FIDO2 master key | Secure element (SE050) | Passkey authentication | Passkey reset |
| PIV key pairs | Secure element (SE050) | PIV signing | PIV reset |
| Passkey data | NVS (non-volatile memory) | Passkey management | Passkey reset |
| PIV certificates | NVS (non-volatile memory) | PIV authentication | PIV reset |
| PIN | NVS (non-volatile memory) | Device lock | Delete PIN |
| PIV PIN | NVS (non-volatile memory) | PIV signing authentication | PIV reset |
| Settings | NVS (non-volatile memory) | Language, volume, and so on | Factory Reset |
| BLE pairing data | NVS (non-volatile memory) | Bluetooth connection | Unpair |
★ Secure element: the device carries an NXP SE050 secure element (EAL6+ certified). Private keys are protected by the dual-secure mechanism and stored safely inside the secure element.
▲ Important: running “Erase Wallet” or “Factory Reset” completely deletes the private keys, entropy, and seed. Without a backup of your recovery phrase, your assets are lost forever. A factory reset also deletes your FIDO2 passkeys and PIV keys.
Air Gap (QR code):
USB:
Bluetooth Low Energy (BLE):
We never provide user data to third parties
▲ Exception: if we receive a legally binding request (such as a court order), we may respond within the limits of the law. Because Openloop is an offline device, however, the manufacturer has no means of accessing user data.
The wallet software you pair with Openloop (Sparrow Wallet, MetaMask, and so on) each has its own privacy policy.
ℹ Tip: for maximum privacy, we recommend combining QR-code communication, your own node, and Sparrow Wallet.
To completely delete your data:
▲ Warning: this cannot be undone. Make sure you have a backup of your recovery phrase first.
Openloop contains cryptographic technology and may be subject to import/export controls in some countries and regions.
Openloop uses the following cryptographic technology:
| Technology | Purpose | Standard |
|---|---|---|
| ECDSA (secp256k1) | Bitcoin/Ethereum/TRON signing | SEC 2 |
| ECDSA (P-256) | FIDO2/PIV signing | FIPS 186-4 |
| EdDSA (Ed25519) | XRP/Solana/FIDO2/PIV signing | RFC 8032 |
| RSA-2048 | PIV signing | PKCS#1 v1.5 |
| SHA-256 | Hashing | FIPS 180-4 |
| SHA-512 | XRP key derivation | FIPS 180-4 |
| Keccak-256 | Ethereum signature hashing | FIPS 202 |
| RIPEMD-160 | Bitcoin address generation | ISO/IEC 10118-3 |
| AES-256-GCM | Encrypting private keys and the recovery phrase | FIPS 197 / SP 800-38D |
| PBKDF2 | Deriving the seed from a BIP39 mnemonic | RFC 8018 |
| HMAC-SHA512 | BIP32 key derivation | RFC 2104 |
| ECDH key exchange | Dual-secure key derivation with the SE050 | SEC 1 |
| AES-CTR | Encryption on the SE050 | SP 800-38A |
| BLE encryption | Bluetooth communication | Bluetooth 4.2+ LE Secure Connections |
Export from Japan:
United States (EAR):
EU regulation:
Using Openloop for the following purposes is prohibited:
You are responsible for complying with the following:
▲ Important: your responsibility
The manufacturer and developers make no warranty whatsoever that Openloop meets the export-control conditions of any given country. If you import or export this product, you must check the applicable laws and regulations yourself and obtain any necessary permits.
ℹ Tip: tax treatment of crypto assets is complex. If you are making large transactions, we recommend consulting a tax accountant.
When you open the box, check that you have:
▲ Note: a USB-C cable is not included. You will need to supply your own USB-C cable (USB 2.0 or later) for charging and firmware updates.
The licence agreement screen shown on first boot
On first boot, if no wallet exists, the setup dialog appears automatically.
▲ On firmware v1.1.0 and earlier: this dialog may be replaced by a screen that says “Wallet Corrupted”. Nothing is wrong with your device. Go ahead and choose “Generate” or “Restore” (see 13.2). This false alarm is fixed in v1.1.1 — updating to v1.1.1 or later stops it appearing (see chapter 12).
The “Welcome to Openloop” dialog:
Options:
ℹ Tip: this dialog also appears automatically after you erase a wallet. You can open the same screen from the “Wallet” screen → “Create Wallet” button.
Tapping “Generate” brings up the mnemonic length selection screen.
The “Select mnemonic length” dialog:
Which should you choose?
| Length | Security | Entropy | Recommended for |
|---|---|---|---|
| 12 words | High | 128 bits | General use, easier to record |
| 24 words | Very high | 256 bits | Large holdings, maximum security |
▲ This is the single most important step. Concentrate and do it accurately.
Once you choose 12 or 24 words, a new recovery phrase is generated, and you can view it on the “Wallet” → “Recovery Phrase” screen.
Example recovery phrase (12 words):
1. modify 5. normal 9. mixture
2. rack 6. whisper 10. replace
3. conduct 7. false 11. panda
4. divert 8. solid 12. farm
▲ Warning: this is a sample. Never use it for a real wallet.
Checkpoints:
On the Wallet screen, buttons are enabled or disabled according to the current wallet state:
| Button | No wallet | Wallet exists | Colour |
|---|---|---|---|
| Create Wallet | ✓ Enabled | ✗ Disabled | Blue / grey |
| Recovery Phrase | ✗ Disabled | ✓ Enabled | Yellow / grey |
| Erase Wallet | ✗ Disabled | ✓ Enabled | Red / grey |
What the button colours mean:
ℹ Tip: after you erase a wallet, the “Welcome to Openloop” dialog appears again the next time you access it.
After creating a wallet, set a PIN to protect the device.
ℹ Tip: write your PIN down so you do not forget it (and store it somewhere separate from your recovery phrase).
For security, entering the PIN incorrectly several times in a row temporarily locks the device:
| Failed attempts | Lockout |
|---|---|
| 1–2 | None (retry immediately) |
| 3 | 30 seconds |
| 4 | 1 minute |
| 5 | 5 minutes |
| 6–9 | 10 minutes |
| 10 | ▲ The device automatically erases all data |
▲ Most important: getting it wrong 10 times in a row makes the device automatically perform a factory reset. In addition to your wallet (recovery phrase), PIN, and all settings, your FIDO2 passkeys and PIV keys and certificates are also completely erased and can never be recovered.
Crypto assets can be restored from your recovery phrase, but passkeys must be registered again at each service, and PIV keys must be regenerated with new certificates issued (see also 8.1, 9.4, and 10.7).
After nine failures, wait for the lockout to clear and then enter the correct PIN calmly. Powering the device off does not cancel the pending erase — the confirmation screen reappears on the next boot.
You can choose Japanese or English.
ℹ Tip: you can change the language at any time.
You can configure the click sound and other tones.
ℹ Tip: you can turn the click sound off when using the device somewhere quiet.
ℹ Tip: the confirmation tone played when signing a transaction also follows the volume setting.
The Openloop screen consists of three areas:
┌────────────────────────────────────────────────────┐
│ [ Status bar ] │ ← Battery / BLE / USB
├────────────────────────────────────────────────────┤
│ │
│ [ Content area ] │ ← Main information and buttons
│ │
├────────────────────────────────────────────────────┤
│ Home Send Receive Wallet Passkey Security Coin Set │ ← Navigation bar (scrolls sideways)
└────────────────────────────────────────────────────┘
The navigation bar scrolls horizontally and gives direct access to eight screens:
| Label | Screen | Function |
|---|---|---|
| Home | Home screen | Check wallet information |
| Send | Send screen | Transaction signing |
| Receive | Receive screen | Show addresses and QR codes |
| Wallet | Wallet screen | Create, erase, and export a wallet |
| Passkey | Passkey & PIV screen | Manage FIDO2 passkeys and PIV keys |
| Security | Security screen | PIN lock settings |
| Coin | Coin & network screen | Coin and network settings |
| Settings | Settings screen | Sound, language, USB, BLE, factory reset |
ℹ Tip: swipe the navigation bar left and right to reach the items that are hidden.
ℹ Tip: tapping a button plays a click sound (which you can turn on or off in Settings).
In confirmation dialogs and signing approval screens, buttons are laid out like this:
Shows the current state of your wallet at a glance.
What it shows:
Air Gap /
Air Gap / USB / Air Gap / BLE /
Air Gap / USB / BLE)ℹ Tip: the home screen always shows mainnet addresses. To check a testnet address, switch networks on the “Receive” screen.
Scrolling the address card on the home screen (headed “Default coin”) up and down highlights the selected currency in the accent colour. That is the “default coin,” and it becomes the app mode reported to wallet software on your PC over USB. This is equivalent to Ledger’s “app switching.”
Normally it switches automatically in response to requests from the wallet software, but some wallet software requires you to select it manually.
Shows the address and QR code for receiving crypto assets.
Openloop is a hierarchical deterministic (HD) wallet: following BIP32/BIP44, it derives many keys hierarchically from a single master seed. Any derived key can be used, and changing the key for each transaction helps protect your privacy.
The Receive screen can show representative addresses for Bitcoin, Ethereum, XRP, Solana, and TRON, as well as any public-key address your wallet holds by specifying a BIP44 custom path.
How to use it:
What each currency choice does:
| Choice | Behaviour |
|---|---|
| Bitcoin | Shows the Bitcoin address at Account 0, Index 0 |
| Ethereum (ERC-20) | Shows the Ethereum address at Account 0, Index 0 |
| Ripple (Ed25519) | Shows the XRP address at Account 0, Index 0 |
| Solana | Shows the Solana address at Account 0. “BIP32 Path” lets you choose the derivation depth (2 / 3 / 4 levels; 3 is the default) |
| TRON (TRX) | Shows the TRON address at Account 0, Index 0 |
| Custom path (secp256k1) | Specify any Account/Index under BIP44 (secp256k1 curve) |
| Custom path (Ed25519) | Specify any Account/Index under BIP44 (Ed25519 curve) |
If you choose a custom path (BIP32/BIP44):
0 (Ext))m/84'/0'/0'/0/0), with the corresponding address
below itThis lets you display and verify on Openloop any address your companion wallet is using.
| Parameter | Description | Choices |
|---|---|---|
| Account | The account number within the wallet | 0–9 |
| Change | External (receiving) or internal (change) | (none) / 0 (Ext) / 1 (Int) |
| Index | The address number within the account | (none) / 0–99 |
ℹ Tip: choosing “(none)” for Change or Index omits that level, making the path shallower. Use this when you need a three-level path, as Solana does.
BIP32 derivation path format:
m / purpose' / coin_type' / account' / change / index
Standard paths by currency:
| Currency | Standard path | Standard | Curve |
|---|---|---|---|
| Bitcoin | m/84’/0’/0’/0/0 | BIP84 (Native SegWit) | secp256k1 |
| Ethereum | m/44’/60’/0’/0/0 | BIP44 | secp256k1 |
| XRP (Ed25519) | m/44’/144’/0’/0’/0’ | BIP44 (all levels hardened) | Ed25519 |
| XRP (secp256k1) | m/44’/144’/0’/0/0 | BIP44 | secp256k1 |
| Solana | m/44’/501’/0’ (Receive screen default) m/44’/501’/0’/0’ (when signing) |
SLIP-0010 (all levels hardened) | Ed25519 |
| TRON | m/44’/195’/0’/0/0 | BIP44 | secp256k1 |
▲ Note: for XRP the derivation path changes with the curve you select (Ed25519 hardens every level). Set the curve on the “Connect Wallet” screen (see 4.1).
ℹ Example: if you want to use several receiving addresses for different purposes (work and personal, say), use addresses with different indexes.
For details, see “5. Receiving Crypto Assets”
ℹ Tip: scanning the QR code with a phone app avoids address typos.
Signs transactions so you can send crypto assets.
▲ Important: this screen is for signing transactions using the Air Gap method (QR codes).
Air Gap (QR code):
USB / BLE:
▲ Important: Openloop only signs. The actual send (broadcast) is performed by your companion wallet.
An overview of the screens you can reach directly from the navigation bar. See the relevant chapter for details.
| Screen | Contents | Details |
|---|---|---|
| Wallet | Create, export, erase, recovery phrase | Ch. 8 |
| Passkey | FIDO2 passkey management, PIV key management | Ch. 9, Ch. 10 |
| Security | PIN lock timing, set/change/delete PIN | 8.1 |
| Coin | View and configure coins and networks | Ch. 14 |
| Settings | Sound, language, USB, BLE, factory reset, version | Ch. 7, Ch. 11 |
ℹ Tip: the wallet pairing feature is reached from “Connect Wallet” on the “Wallet” screen. See “4.1 The Connect Wallet screen” for details.
▲ Important: before you use Openloop, always set up the connection with your wallet software (your companion wallet).
Openloop is a signing-only device. To actually send and receive crypto assets, you need to pair it with wallet software (a companion wallet).
| Method | Currencies | Example wallets | Recommendation |
|---|---|---|---|
| Air Gap | BTC/ETH/XRP/SOL | Sparrow Wallet and others | ★★ For those who want no electronic communication |
| USB | BTC/ETH/XRP/SOL/TRX | Sparrow/MetaMask/Rabby and others | ★★★ Recommended for everyday use |
| BLE | ETH | MetaMask Mobile | ★★★ Recommended for everyday use |
ℹ About security: with every method, the private key never leaves the Openloop device, and by design you must always approve the signature on the device itself.
How to get there: “Wallet” in the navigation bar → “Connect Wallet”
This screen displays the public-key information needed to pair with a companion wallet, as a QR code.
| Connection | Is this screen needed? | Explanation |
|---|---|---|
| Air Gap | Yes | Displays the public-key QR code for your companion wallet to scan |
| USB | No | Turn USB on in Openloop, then connect from the companion wallet side |
| BLE | No | Turn BLE on in Openloop and complete pairing, then connect from the companion wallet side |
ℹ Tip: for USB and BLE, as long as the transport is enabled on Openloop, you can pair without going through this public-key QR screen. In MetaMask and similar wallets, choose “Connect hardware wallet.”
Select the currency to pair from the dropdown menu:
| Option | Description |
|---|---|
| Mainnet | Show the public key for the production network |
| Testnet | Show the public key for the test network |
| Script | Choose the script type for the derived key (see below) |
Script choices:
| Choice | Derivation path | Wallet type in Sparrow |
|---|---|---|
| Native SegWit (default) | m/84’/0’/0’ (zpub) | Native SegWit (P2WPKH) |
| Nested SegWit | m/49’/0’/0’ (ypub) | Nested SegWit (P2SH-P2WPKH) |
| Legacy | m/44’/0’/0’ (xpub) | Legacy (P2PKH) |
| Multisig | m/48’/0’/0’/2’ (Zpub) | Multi Signature (P2WSH) |
▲ Important: the script type you choose here must match the wallet type you create in your companion wallet. If they do not match, the addresses will differ.
Tapping “Show QR” displays the extended public key for the selected script (zpub / ypub / xpub / Zpub) as a QR code.
There are no options. Tapping “Show QR” displays the address information as a QR code.
| Option | Description |
|---|---|
| Auto | Choose the curve according to the P2 parameter from the host (default) |
| Ed25519 | Always use the Ed25519 curve (ignore the P2 parameter) |
| secp256k1 | Always use the secp256k1 curve (ignore the P2 parameter) |
The XRP curve setting affects all three transports — Air Gap, USB, and BLE. This is different from the other currencies.
Background:
XRP Toolkit (via the hw-app-xrp library) has a bug: it always sends P2=0x40 (secp256k1), even when you are using an Ed25519 address.
| Setting | Behaviour | Recommendation |
|---|---|---|
| Auto | Follow the host’s P2 | ✗ with XRP Toolkit (signing fails) |
| Ed25519 | Always Ed25519 | ✓ Recommended when using XRP Toolkit |
| secp256k1 | Always secp256k1 | When Ledger compatibility is required |
Recommended settings:
ℹ Tip: Ed25519 is the newer format and the default for software wallets. Unless you have a specific reason not to, we recommend “Ed25519.”
“BIP32 Path” lets you choose how deep the derivation path goes.
| Option | Path | What it means |
|---|---|---|
m/44'/501' |
2 levels | A single address with no account number |
m/44'/501'/* |
3 levels (default) | A separate address per account number |
m/44'/501'/*/0' |
4 levels | One more level below the account number |
▲ Important: a different depth derives a different address. Match it to the path format your companion wallet uses. If they do not match, the addresses will differ. If you are unsure, leave it at the default of 3 levels.
Tapping “Show QR” displays the Solana public-key information for the selected depth as a QR code.
▲ Note: for step-by-step instructions on each method, see “6. Sending Crypto Assets.”
Do not run several wallet applications at the same time.
What goes wrong:
The right way:
▲ Important: Openloop has no balance display. To check whether funds have arrived, use your companion wallet (Sparrow Wallet, MetaMask, and so on) or a blockchain explorer.
To receive crypto assets, you need to give the sender your receiving address.
There are two ways to obtain a receiving address:
| Method | Description | When to use it |
|---|---|---|
| From the companion wallet | Use the address shown in the paired wallet software (Sparrow Wallet, MetaMask, and so on) | Everyday receiving |
| From Openloop itself | Show the QR code on the “Receive” screen for the sender to scan | When no companion wallet is connected, or when verifying for security |
ℹ Security tip: checking that the address shown in your companion wallet matches the one on Openloop lets you detect address tampering by malware.
The basic flow:
Openloop supports several crypto assets and networks. Check that the currency you want to receive is supported.
ℹ Note: you do not have to do this before every transaction. As long as the correct currency and network are configured in your companion wallet, they are determined automatically at signing time.
Tap “Coin” in the navigation bar
| Currency | Description | Typical use |
|---|---|---|
| Bitcoin (BTC) | The most widely used crypto asset | Store of value, transfers |
| Ethereum (ETH) | Smart-contract capable | DeFi, NFTs, tokens |
| XRP (Ripple) | Fast, low-fee transfers | International remittance |
| Solana (SOL) | A fast, low-fee blockchain | DeFi, NFTs |
| TRON (TRX) | A high-throughput blockchain | DeFi, stablecoins |
ℹ Broad Ethereum support:
Openloop supports every EVM-compatible network and every ERC-20 token.
Built-in data:
When something is not built in:
For details, see “14. Supported Crypto Assets and Networks.”
▲ Important: choosing the wrong network can cost you your assets.
| Network | Purpose | Value |
|---|---|---|
| Mainnet | Real transactions (production) | Has real value |
| Testnet | Development and testing | No value (for practice) |
ℹ If you are new to this: we strongly recommend practising on testnet first, then moving to mainnet.
Networks per currency:
| Currency | Mainnet | Testnet |
|---|---|---|
| Bitcoin | BTC Main | BTC Test |
| Ethereum | ETH Main | ETH Sep (Sepolia) |
| XRP | XRP Main | XRP Test |
Additional Ethereum networks (layer 2 and so on):
▲ Warning: always confirm that the sending and receiving networks are correct.
Use the “Receive” screen on Openloop when you want an address without using a companion wallet, or when you want to verify that the address shown in your companion wallet is correct.
ℹ Address verification tip: when you pick a currency on the Openloop Receive screen, the address for “Account 0, Index 0” is shown by default.
If your companion wallet uses a different account or index, you can specify a custom BIP32/BIP44 path on Openloop to display the same address.
How to do it:
Example 1: Sparrow Wallet is using the second address
Example 2: MetaMask with several accounts
ℹ Note: MetaMask’s “Account 1” corresponds to Openloop’s Account=0 (because counting starts at zero).
Example addresses:
bc1q... or tb1q... (testnet)0x...ℹ Tip: tapping the QR code returns to the address display.
Option 1: Type it manually
Option 2: Scan the QR code
Option 3: USB / BLE
▲ Warning: test with a small amount the first time. Confirm the address is correct before sending a real amount.
ℹ Tip: if you want to practise on testnet, you can obtain coins from a testnet faucet.
Openloop itself has only limited balance display. You can check in these ways:
Option 1: A blockchain explorer
Search for your address to see the transaction history and balance.
Option 2: Your companion wallet
ERC-20 tokens are tokens that run on the Ethereum blockchain (USDT, USDC, DAI, JPYC, and so on).
The receiving address for ERC-20 tokens is the same as your ETH address
▲ Important: you
use your ordinary Ethereum address (0x...) to receive
ERC-20 tokens too. You do not need a separate address per token.
▲ Important: ERC-20 tokens differ by network (chain). The same token name on a different network is a different thing.
EVM networks supported by Openloop (215 networks: 129 mainnets + 86 testnets)
| Category | Example mainnets | Example testnets |
|---|---|---|
| Ethereum | Ethereum | Sepolia, Holesky |
| Optimistic L2 | Optimism, Arbitrum One, Base, Mantle, Blast | Various Sepolia versions |
| ZK rollup L2 | zkSync Era, Linea, Scroll, Polygon zkEVM, Taiko | Various Sepolia versions |
| Alt L1 | BNB Smart Chain, Avalanche, Fantom, Cronos | Various testnet/Fuji versions |
| Gaming/NFT | Ronin, Immutable zkEVM, ApeChain | Various testnets |
| Emerging chains | Berachain, Monad, Sonic, Abstract, Morph | Various testnets |
Major networks (excerpt):
| Network | Chain ID | Purpose |
|---|---|---|
| Ethereum | 1 | Mainnet (production) |
| Optimism | 10 | Layer 2 |
| Arbitrum One | 42161 | Layer 2 |
| Base | 8453 | Layer 2 (Coinbase) |
| Polygon | 137 | Sidechain |
| zkSync Era | 324 | zkRollup |
| Linea | 59144 | zkRollup |
| Scroll | 534352 | zkRollup |
| BNB Smart Chain | 56 | EVM-compatible chain |
| Avalanche C-Chain | 43114 | EVM-compatible chain |
| Berachain | 80094 | Emerging chain |
| Blast | 81457 | Layer 2 |
See the product specification for the complete network list.
Characteristics of the major networks:
0x...) on the “Receive” screen▲ Important: the address may be the same, but if the network differs the funds will not arrive. Sender and receiver must always choose the same network.
Q: Do I need a dedicated address for USDT? A: No. A single Ethereum address receives ETH and every ERC-20 token (USDT, USDC, DAI, and so on).
Q: My exchange asks me to choose a “network.” What should I pick? A: Choose as follows:
Q: How do I check whether the tokens arrived? A: Search for your address on Etherscan (https://etherscan.io/) to see your ETH and ERC-20 balances.
Openloop supports the major ERC-20 tokens:
| Token | Contract address (mainnet) | Purpose |
|---|---|---|
| AAVE | 0x7Fc66500c84A76Ad7e9c93437bFc5Ac33E2DDaE9 |
DeFi lending |
| ARB | 0xB50721BCf8d664c30412Cfbc6cf7a15145234Ad1 |
Layer 2 governance |
| DAI | 0x6B175474E89094C44Da98b954EedeAC495271d0F |
Decentralized stablecoin |
| JPYC | 0xE7C3D8C9a439feDe00D2600032D5dB0Be71C3c29 |
Japanese yen stablecoin |
| LINK | 0x514910771AF9Ca656af840dff83E8264EcF986CA |
Oracle |
| UNI | 0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984 |
DEX governance |
| USDC | 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 |
Stablecoin |
| USDT | 0xdAC17F958D2ee523a2206206994597C13D831ec7 |
Stablecoin |
ℹ Tip: because ERC-20 tokens run on the Ethereum network, transfer fees (gas) are paid in ETH.
Openloop is a signing-only device. The actual sending process works like this:
ℹ What “Air Gap” means: exchanging data purely through QR codes, without USB or BLE. Choose it when you do not want any electronic communication between devices.
The main wallet applications that work with Openloop:
| Wallet | Currencies | Transport | Verified |
|---|---|---|---|
| MetaMask Mobile | Ethereum / ERC-20 | BLE (recommended) | ✓ Verified |
| MetaMask (PC) | Ethereum / ERC-20 | USB (WebHID) | ✓ Verified |
| Sparrow Wallet | Bitcoin | Air Gap (QR code) | ✓ Verified |
| Safe | Ethereum / ERC-20 | USB (WebHID) | ✓ Verified |
| Rabby | Ethereum / ERC-20 | USB (WebHID) | ✓ Verified |
| XRP Toolkit | XRP | USB | ✓ Verified |
| Other Ledger-compatible apps | Various | USB / BLE | ✓ Many supported |
| Other KeyStone-compatible apps | Various | QR code | ✓ Many supported |
ℹ About compatibility: Openloop uses the Ledger-compatible protocol over USB and BLE, and the KeyStone-compatible protocol over QR codes. Ledger-compatible applications other than Ledger Live, and KeyStone-compatible applications, generally work.
Installing MetaMask Mobile (for Ethereum, recommended):
Installing Sparrow Wallet (for Bitcoin):
This method exchanges everything through QR codes, without USB or BLE. It suits anyone who wants to operate without electronic communication between devices. For everyday use we recommend USB or BLE (sections 6.4 and 6.5).
ℹ What BBQr is: a format that splits large data across several QR codes. Openloop scans all the frames automatically.
ℹ Detailed tutorial: for step-by-step Air Gap instructions, see “15.5 Tutorial: Sparrow Wallet (Bitcoin Air Gap).”
Advantages:
Disadvantages:
With USB you connect your PC and Openloop directly and sign. It works with HID-capable wallet software.
| Mode | Purpose | Wallets |
|---|---|---|
| Native | Uses Openloop’s own extensions | Openloop-aware wallets |
| Compatible | Prioritizes compatibility with existing wallets | MetaMask, Rabby, XRP Toolkit, and so on |
ℹ Recommended: choose Compatible mode to use anything other than an Openloop-aware companion wallet.
Tip: MetaMask supports Ethereum and ERC-20 tokens. To send Bitcoin, use the QR-code method (Sparrow Wallet).
ℹ For details of the confirmation screen, see “6.7 The signing confirmation screen in detail.”
Done: the transaction has been sent to the Ethereum network from MetaMask.
Advantages:
Disadvantages:
Connect to a phone or tablet over Bluetooth.
Openloop implements the Ledger-compatible BLE protocol, so it works wirelessly with compatible apps.
Note: Ledger Live Mobile is not supported because it checks for genuine Ledger devices.
Important: to use BLE, you must complete pairing beforehand. Without pairing, BLE will not connect.
The clearest way to pair is to register the device in Openloop Connect (mobile). The registration flow completes your phone’s BLE pairing at the same time.
From then on, when you connect to Openloop from another app such as MetaMask Mobile, pairing is already done at the OS level — just choose “Connect hardware wallet” in that app.
You can also pair directly from a companion wallet such as MetaMask Mobile, without using Openloop Connect (mobile).
Once pairing is done, here is how to send Ethereum using MetaMask Mobile.
When MetaMask Mobile sends the signing request, the confirmation screen appears on Openloop. If the device is locked, you will be asked for your PIN.
ℹ For details of the confirmation screen, see “6.7 The signing confirmation screen in detail.”
Done: the transaction has been sent to the Ethereum network.
ℹ Tip: opening the transaction details from your history gives you a link to a block explorer.
To unpair:
▲ Note: after unpairing you will need to pair again.
Advantages:
Disadvantages:
Sending ERC-20 tokens (USDT, USDC, DAI, and so on) works essentially the same way as sending ETH, but there are a few important differences.
▲ Gas fees must be paid in ETH
When you send an ERC-20 token, the fee is paid in ETH. So:
You can send ERC-20 tokens using the same three methods as ETH:
ℹ For details of the confirmation screen, see “6.7 The signing confirmation screen in detail.”
Q: Why do I need ETH to send an ERC-20 token? A: Because the fee (gas) paid to the miners (validators) who process transactions on the Ethereum network is denominated in ETH.
Q: How much gas do I need? A: It depends on network congestion:
Q: I tried to send USDT and got an “insufficient gas” error A: Your ETH balance is too low. Send a small amount of ETH ($10–$50) from an exchange.
Q: My exchange withdrawal screen asks me to “select a network” A: Choose the same network you selected on Openloop:
Q: Do you support TRC-20 or BEP-20 USDT? A: For sending tokens such as USDT with Openloop, only ERC-20 (Ethereum-family networks) is supported. TRC-20 tokens are not supported, although sending TRON’s native currency (TRX) is. BEP-20 is an ERC-20-compatible token on BNB Smart Chain and is supported as an EVM-compatible chain.
Checklist when a token will not send:
When you sign a transaction on Openloop, the items shown on the confirmation screen differ by asset type. This section covers each currency and token in detail.
ℹ Timeout: the confirmation screen shows a countdown (starting at 90 seconds) in the top right. If you do nothing for 90 seconds, the request is automatically rejected and an error is returned to your companion wallet. In that case, start the signature again from the wallet.
ℹ Addresses are shown in full: Openloop never abbreviates destination addresses or hashes. Check the whole value — not just the start and end, but the middle too.
What is shown:
What each item means:
| Item | Description | What to check |
|---|---|---|
| Destination | The recipient’s Bitcoin address | Is it the right address? |
| Amount | How much BTC is being sent | Is it the amount you intended? |
| Fee | Payment to miners (fee rate × transaction size) | Typically 0.00001–0.0001 BTC |
Types of Bitcoin address:
| Prefix | Type | Description |
|---|---|---|
1... |
Legacy (P2PKH) | The oldest format. Higher fees |
3... |
SegWit (P2SH) | A compatibility-focused format |
bc1q... |
Native SegWit (P2WPKH) | Openloop’s standard format. Lower fees |
tb1q... |
Testnet SegWit | Testnet addresses |
bc1p... |
Taproot (P2TR) | ▲ Address display only. Signing is not supported |
▲ Note: Openloop
generates bc1q... (Native SegWit) addresses.
▲ Taproot cannot be
signed: if you create a Taproot (m/86') account in
your companion wallet, Openloop shows “Cannot sign: Taproot (P2TR) is
not supported” on the confirmation screen and disables the “Sign”
button. In Sparrow Wallet and similar, choose Native SegWit (P2WPKH),
Nested SegWit, or Legacy instead.
Two safety warnings on the confirmation screen:
| Warning | Meaning | What to do |
|---|---|---|
| (unverified) in red on an output, plus “Unverified destination. Please check the address.” | Openloop could not confirm that the change address belongs to you. This may be an attack that redirects your change to a fake address | Always cross-check the change address in your companion wallet |
| “Too many outputs to display them all” | There are more than 16 outputs, so the 17th onward cannot be shown | Verify all outputs in your companion wallet before signing |
What is shown:
What each item means:
| Item | Description | What to check |
|---|---|---|
| Destination | The recipient’s Ethereum address (starting 0x) | A 42-character address. Compare it end to end |
| Amount | How much ETH is being sent | Up to 18 decimal places can be shown |
| Fee | The transaction fee (gas) | Varies with network congestion |
| Network | The EVM chain name | Check it is the network you intended |
| Nonce | The transaction sequence number | Orders transfers from the same account |
| Transaction hash | The keccak256 hash of the data being signed (all 64 digits shown) | You can compare it with the hash Safe and others display |
ℹ If the fee exceeds 0.01 ETH, an orange warning appears: “Gas fee is high!”
Why checking the chain ID matters:
| Network | Chain ID | Note |
|---|---|---|
| Ethereum Mainnet | 1 | Production. Mistakes cost real assets |
| Arbitrum One | 42161 | L2. Cheap fees |
| Optimism | 10 | L2. Cheap fees |
| Base | 8453 | L2. Run by Coinbase |
| Sepolia Testnet | 11155111 | For testing. No value |
▲ Warning: sending to a network with a different chain ID can lose your assets.
ℹ Networks that are not built in: for networks outside the 215 built-in ones, the screen shows something like “Chain ID 12345” instead of a name, and the currency symbol for the amount and fee becomes “ETH?”. Signing is still possible, so check the network information in your companion wallet before you sign.
What is shown:
What each item means:
| Item | Description | What to check |
|---|---|---|
| Destination | The recipient’s address | The same 0x address as for ETH |
| Amount | How many tokens are being sent | Watch the decimal places for each token |
| Fee | Gas (paid in ETH) | You need ETH, not the token |
| Network | Which chain the token is on | The same token name on a different chain is a different token |
| Nonce | The transaction sequence number | Orders transfers from the same account |
| Token | The token symbol | USDT, USDC, DAI, JPYC, and so on |
| Contract | The token’s smart contract address | Always check it is not a scam token |
| Transaction hash | The keccak256 hash of the data being signed (all 64 digits shown) | You can compare it with the hash Safe and others display |
Official contract addresses for major tokens (Ethereum Mainnet):
| Token | Contract address |
|---|---|
| USDT | 0xdAC17F958D2ee523a2206206994597C13D831ec7 |
| USDC | 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 |
| DAI | 0x6B175474E89094C44Da98b954EedeAC495271d0F |
| WETH | 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2 |
▲ Important: “fake tokens” with different contract addresses exist. Always confirm the official address on the project’s website, CoinGecko, or a similar source.
ℹ Tokens that are not built in: for tokens outside the 2,599 built-in ones, the screen shows “ERC-20 Token” or “Unknown ERC-20” instead of a name, together with an orange warning, “Unknown token - verify contract!” Signing is still possible, so compare the contract address (shown in full) with your companion wallet before you sign.
What is shown:
What each item means:
| Item | Description | What to check |
|---|---|---|
| Network | Shows XRP Ledger |
— |
| Destination | The recipient’s XRP address (starting r, shown in full) | Classic Address format |
| Amount | How much XRP is being sent | In drops: 1 XRP = 1,000,000 drops |
| Fee | The transaction fee | Typically 10–12 drops (about 0.00001 XRP) |
| Destination tag | The identifier used when sending to an exchange (shown only when set) | Check it matches the number the exchange gave you |
| Sequence | The account sequence number | — |
| Last ledger sequence | The ledger number at which the transaction expires (shown only when set) | — |
Characteristics of XRP addresses:
| Format | Description | Support |
|---|---|---|
Classic Address (r...) |
The standard format | ✓ Supported |
X-Address (X...) |
Embeds the destination tag | ✗ Not supported |
About destination tags:
When sending XRP to an exchange, a destination tag is often required.
▲ Warning: getting the destination tag wrong when sending to an exchange can cost you your assets.
About the XRP curve setting:
XRP supports two elliptic curves:
| Curve | Characteristics | Recommendation |
|---|---|---|
| Ed25519 | The newer format, the default for software wallets | ✓ Recommended |
| secp256k1 | The traditional format, Ledger’s default | For compatibility |
▲ Important: when using XRP Toolkit, go to “Wallet” → “Connect Wallet” → select XRP → set “Curve” to Ed25519. Leaving it on “Auto” can make signing fail. See “4.1 The Connect Wallet screen” for details.
What the confirmation screen shows:
| Item | Description |
|---|---|
| Network | Shows Solana |
| Destination | The destination Solana address (shown in full) |
| Amount | How much SOL is being sent |
| Fee | Number of signatures × 5,000 lamports |
Solana supports both transaction signing and off-chain message signing. The display falls into three patterns.
| Pattern | Display |
|---|---|
| Simple transfer | As in the table above (network / destination / amount / fee) |
| Blind signing | A two-line orange warning: “Unknown program” and “Verify in dApp.” Over USB/BLE, destination, amount, and fee all become “See dApp” |
| Message signing | Message / hash (all 64 digits shown) / length |
▲ The blind-signing warning: when you see “Unknown program,” Openloop could not interpret the contents of the transaction. The “Sign” button remains enabled, so make absolutely sure you know what you are signing by checking in the dApp. If it looks unfamiliar, choose “Reject.”
What the confirmation screen shows:
| Item | Description |
|---|---|
| Network | Shows TRON |
| Destination | The destination TRON address (Base58Check, shown in full) |
| Amount | How much TRX is being sent |
| Fee | Always shows “See dApp” (the device cannot calculate TRON fees) |
TRON transactions are encoded in protobuf format.
▲ The blind-signing warning: the only TRON transaction Openloop can read is a plain TRX transfer. A TRC-20 token transfer (USDT-TRC20 and the like) is a smart-contract call, which the device cannot interpret: destination, amount and fee all become “See dApp” and a two-line orange warning appears — “Unknown contract” and “Verify in dApp.” The “Sign” button remains enabled, so make absolutely sure you know what you are signing by checking in the dApp. If it looks unfamiliar, choose “Reject.”
Supported EVM chains:
Openloop supports 215 EVM chains (129 mainnets + 86 testnets):
| Chain | Chain ID | Native currency | Characteristics |
|---|---|---|---|
| Ethereum | 1 | ETH | The main chain |
| Arbitrum One | 42161 | ETH | L2, low fees |
| Optimism | 10 | ETH | L2, low fees |
| Base | 8453 | ETH | Coinbase L2 |
| Polygon | 137 | POL | Sidechain |
| BNB Chain | 56 | BNB | Binance chain |
| Avalanche C-Chain | 43114 | AVAX | Fast chain |
| Berachain | 80094 | BERA | Emerging chain |
| Blast | 81457 | ETH | L2, high yield |
| Others | - | - | All 215 chains supported |
Points to watch when confirming a signature:
0x... address formatOpenloop handles several kinds of signing request beyond simple transfers. The title at the top of the screen tells you which one it is.
| Title | Meaning | Main items shown |
|---|---|---|
| Send | An ordinary transfer | Destination / amount / fee |
| ERC-20 Transfer | A token transfer | Plus token / contract |
| Contract Call | A smart contract invocation | Contract / method / arguments |
| Off-chain Signature | EIP-712 typed data signing | Type / domain / contract / domain hash / message hash / digest (each shown in full, 64 digits) |
| Message Signature | personal_sign / BIP-322 / Solana off-chain | Message / hash / length |
If the “Contract Call” screen shows “Method: Approve” together with “Amount: Unlimited,” you are granting that contract the right to withdraw an unlimited amount of your tokens.
“Method: Set Approval For All” with “Allow: All NFTs” likewise grants the right to move every one of your NFTs.
Never sign these except on a DEX or marketplace you trust. This is one of the classic ways assets are drained.
If it shows “Revoke (0)” instead, that is a revocation of permission and is safe.
Openloop also decodes and displays other methods such as delegated transfer, NFT transfer, multi-send, and batch send.
This appears in red for an EIP-7702 authority delegation when the delegate is not on the known list. If it looks unfamiliar, choose “Reject.”
Before you sign a transaction, always check the following:
✓ Mandatory checks:
| # | Item | How |
|---|---|---|
| 1 | Destination address | The screen shows every digit. Compare the whole address, including the middle, not just the start and end |
| 2 | Amount | Confirm it matches exactly what you intended |
| 3 | Network / chain ID | Confirm it is the right network (mainnet vs. testnet) |
| 4 | Fee | Check the fee is not abnormally high |
| 5 | Token contract | For ERC-20, confirm it is the official address |
▲ Do not sign when:
ℹ Safe transaction habits:
Openloop supports three connection methods. Use whichever suits the task.
| Method | Security | Convenience | Devices | Recommended for |
|---|---|---|---|---|
| Air Gap (QR code) | ★★★★★ | ★★★★ | PC / phone (camera required) | Large holdings, maximum security |
| USB | ★★★★ | ★★★★★ | PC (USB-C) | Everyday use, fast operation |
| BLE (Bluetooth) | ★★★★ | ★★★★★ | Phones and tablets | Mobile use, while out |
All three methods have been verified to a practical standard. Choose freely according to your needs.
The highest security
No extra hardware
Future-proof
More complex to operate
A camera is essential
Fast and stable
Simple to operate
Versatile
Requires a physical connection
Security risk
Wireless
Mobile
Power-efficient
Pairing required
Communication can be unstable
Security risk
Each method can be enabled and disabled independently.
ℹ Tip: disabling both USB and BLE gives you a complete air-gapped mode (QR codes only).
Openloop is designed to conserve power and maximize battery life.
| Event | Behaviour |
|---|---|
| 60 seconds with no input | Sleep (backlight off) |
| Touch or USB connection | Wake from sleep |
| 5 minutes asleep without USB | Automatic power off |
| Battery at 15% or below | Safe shutdown |
▲ Important: we recommend using the device above 30% battery (it powers off automatically at 15% or below).
The device will not sleep while:
For security, a BLE connection is dropped automatically after a period with no traffic.
| Condition | Time to disconnect |
|---|---|
| Normal mode | 60 seconds with no traffic → automatic disconnect |
| While a signing confirmation is displayed | Timer paused (waiting for you to confirm) |
ℹ Tip: for long sessions, use the device while charging over USB-C.
▲ Warning: if you manage large holdings, we strongly recommend Air Gap mode.
You can choose from four settings for when the PIN is required. Set it with the “PIN lock timing:” dropdown on the “Security” screen.
| Setting | On waking from sleep | Recommended for |
|---|---|---|
| On sleep | PIN every time | Maximum security |
| On long sleep (default) | PIN only after a long sleep | Balanced |
| At boot only | No PIN | Convenience |
| Off | No PIN | Testing (not recommended) |
ℹ Note: in addition to waking from sleep, every setting other than “Off” also requires a PIN:
▲ Warning: with “Off,” anyone can operate the device. If you manage large holdings, we recommend “On sleep” or “On long sleep.”
▲ Important: if you forget your PIN, you can recover as follows.
▲ Getting the PIN wrong 10 times in a row makes the device automatically perform a factory reset. It does not lock — the data is erased.
What is erased:
How to recover:
▲ Warning: without your recovery phrase, your assets are lost forever. Passkeys and PIV keys cannot be restored from a recovery phrase.
▲ Most important: those 12 or 24 words are the only way to protect your assets.
With your recovery phrase:
Without it:
▲ Warning: make sure nobody is nearby before you do this.
ℹ Tip: check periodically that your written copy has not faded (once a year is a good rule).
Recommended methods:
Methods to avoid:
ℹ Tip: making several copies and storing them in different places reduces the risk from disasters.
▲ Dangerous operation: this completely deletes the wallet from the device.
Before you erase:
▲ Warning: this cannot be undone. Without your recovery phrase, you lose your assets.
▲ Important: erasing a wallet does not require your PIN (unlike “Factory Reset”). If someone else can operate your unlocked device, they could perform this operation. We recommend setting “PIN lock timing:” on the “Security” screen to “On sleep.”
When you might need to erase:
You can restore an existing wallet from its recovery phrase.
Option 1: from the automatic dialog on first boot
Option 2: from the Wallet screen
Tapping “Restore” brings up the restore method dialog.
The “Restore Wallet” dialog:
Options:
| Button | Description |
|---|---|
| Manual | Type the recovery phrase one word at a time (recommended) |
| QR | Scan a QR code of the recovery phrase |
| Cancel | Abandon the restore |
ℹ Recommended: choose Manual. Restoring from a QR code carries a security risk (the code could be photographed by someone else).
Manual entry:
ℹ Tip: if a word does not appear in the suggestion list, it is probably misspelled. The BIP39 list contains exactly 2,048 words.
QR scanning:
How to verify: check that the addresses on the Receive screen match your previous wallet.
If you see an “Invalid mnemonic” error:
▲ Important: if it still will not restore after several attempts, your notes may be wrong. Look for another backup.
Openloop also works as a FIDO2/CTAP2 security key. It supports passwordless sign-in to web services and two-factor authentication for PC security, over USB or BLE (with the Openloop Connect mobile app).
▲ Certification status: Openloop is not currently a FIDO Certified Authenticator (FIDO2 Certified) with the FIDO Alliance. The CTAP2/WebAuthn implementation follows the specification, but official FIDO Alliance certification and AAGUID registration (the FIDO Metadata Service) are something we may pursue in future.
FIDO2 (Fast IDentity Online 2) is a secure alternative to passwords. Using a private key stored in Openloop, you can sign in securely to web services and applications from both a PC and a smartphone.
Key characteristics:
Supported algorithms:
Two connection paths:
| Path | What you need | Where you use it |
|---|---|---|
| USB CTAPHID | Just the OS’s built-in security key support (no app needed) | Browsers on a PC (Windows / macOS / Linux) |
| BLE (via Openloop Connect) | The Openloop Connect mobile app + BLE pairing | Browsers on iPhone / Android |
▲ A note for iPhone users: on iOS 17 and later you can connect over BLE through Openloop Connect’s Credential Provider Extension. The iOS picker shows “Openloop Connect” — that is iOS fixing the name to the containing app — but the actual communication is over BLE, not USB.
On a PC (USB):
On a smartphone (BLE + Openloop Connect):
On a PC (USB):
On a smartphone (BLE + Openloop Connect):
With most services, a single registration lets you use the passkey over either USB or BLE. With major services such as Microsoft, GitHub, Monex, JAL, and SBI VC Trade, one registration works on both transports.
However, some services (Google being the prime example) manage transports strictly per credential, so a passkey registered over USB CTAPHID is not visible to Openloop Connect’s BLE flow (and vice versa). Only for such services do you need to register the passkey twice with the same Openloop device — once over USB and once over BLE. Openloop issues a different credential ID per transport even on the same hardware, so the server records two independent credentials.
ℹ In the device’s “Passkey” list, a 🔌 (USB) or 📶 (Bluetooth) icon to the left of each credential tells you which path it was registered through.
You can manage your registered passkeys from the “Passkey” screen in the navigation bar.
The FIDO2/Passkey section:
▲ Warning: running “Reset passkeys” makes every passkey unusable. You will have to register the security key again at each service.
▲ Important: passkeys cannot be restored from a recovery phrase. Your wallet’s crypto assets can be, but passkeys can never be recovered after a reset or a factory reset. Registering again at each service is the only way back.
Here are examples of services and applications where you can use Openloop as a security key.
Services confirmed to work:
| Service | Use |
|---|---|
| Google / Gmail | Two-factor authentication and passwordless sign-in for Google accounts |
| Microsoft / Azure AD | Microsoft accounts, Microsoft 365 |
| GitHub | Protecting repository access |
| Amazon | Two-factor authentication for Amazon accounts |
| Cloudflare | Protecting the dashboard |
| JAL (Japan Airlines) | Signing in to JAL Mileage Bank |
| Meta (Facebook / Instagram) | Meta account security |
| Nomura Securities | Signing in to online trading |
| SMBC Nikko Securities | Signing in to online trading |
| Monex Securities | Signing in to online trading |
| SBI VC Trade | Signing in to a crypto exchange |
ℹ Tip: you can store up to 100 passkeys (resident keys).
▲ Note: not every FIDO2-capable service accepts a physical security key. Some services and apps accept only the biometrics built into a phone (Face ID or a fingerprint) as a passkey and do not support external security keys. Check whether a “security key” option appears when you register.
Openloop also works as a PIV (Personal Identity Verification) PKCS#11 signer. You can use it for SSH public key authentication, PDF signing, TLS client authentication, GPG signing, and more.
▲ Note: to use the PIV features you need the Openloop Connect desktop application. The PKCS#11 library communicates with the Openloop device through Openloop Connect.
Four PIV slots:
| Slot | Purpose | Description |
|---|---|---|
| 9A | Authentication | SSH authentication, TLS client authentication |
| 9C | Digital Signature | PDF signing, GPG signing, code signing |
| 9D | Key Management | Key management |
| 9E | Card Authentication | Card authentication |
Supported algorithms:
Use a PKCS#11 tool (such as pkcs11-tool) to generate PIV
keys and create certificates.
The PKCS#11 library is bundled with Openloop Connect, in the
pkcs11/ folder under the application’s installation
path:
| OS | Relative to the app |
|---|---|
| macOS | <app>/Contents/Resources/pkcs11/libopenloop-pkcs11.dylib |
| Windows | <app>/resources/pkcs11/libopenloop-pkcs11.dll |
| Linux | <app>/resources/pkcs11/libopenloop-pkcs11.so |
The installation path <app> depends on how you
installed the app:
| Installation method | Location |
|---|---|
| macOS (DMG) | /Applications/Openloop Connect.app |
| Windows (official installer) | C:\Program Files\Openloop Connect |
| Windows (Microsoft Store) | In PowerShell:
(Get-AppxPackage 7CA75049.OpenloopConnect).InstallLocation |
| Linux (deb) | /opt/Openloop Connect |
The examples below set the full path for the macOS DMG build in a shell variable:
MODULE="/Applications/Openloop Connect.app/Contents/Resources/pkcs11/libopenloop-pkcs11.dylib"
# Generate a P-256 key in slot 9A
pkcs11-tool --module "$MODULE" --slot 0 --keypairgen --key-type EC:prime256v1 --id 9a
# Generate an RSA-2048 key in slot 9C
pkcs11-tool --module "$MODULE" --slot 1 --keypairgen --key-type rsa:2048 --id 9cℹ Step-by-step instructions: for details on SSH authentication, TLS client authentication, and using pkcs11-tool, see the Security Key Guide.
You can use an Openloop PIV key for SSH public key authentication.
# Retrieve the public key
ssh-keygen -D "$MODULE"
# Connect over SSH (via PKCS#11)
ssh -I "$MODULE" user@hostnameYou can sign PDFs in Adobe Acrobat using an Openloop RSA-2048 key.
▲ Note: launch Openloop Connect before using Acrobat.
You can use an Openloop PIV key for GPG (GNU Privacy Guard) signing. Through gnupg-pkcs11-scd, you can sign Git commits and cryptographically sign files.
ℹ Note: gnupg-pkcs11-scd supports RSA keys only. EC keys (P-256 / Ed25519) cannot be used for GPG signing.
Manage them in the PIV section of the “Passkey” screen in the navigation bar.
The PIV section:
The PIV PIN authenticates PIV signing over USB. It is a separate PIN from your wallet PIN.
Characteristics of the PIV PIN:
What the PIV PIN is for:
Once a PIV PIN is set, an application on your PC (SSH, Acrobat, and so on) can send the PIN over USB and sign without you approving on the Openloop screen (USB PIN authentication).
| PIV PIN | Behaviour when signing |
|---|---|
| Not set | Tap the approve button on the Openloop screen for every signature |
| Set | Sending the PIN from the PC signs without any on-screen interaction (USB PIN authentication) |
ℹ Tip: setting a PIV PIN is convenient when you sign frequently, as with SSH authentication or GPG signing. For important signatures such as PDF signing, it is safer to leave the PIV PIN unset and confirm on screen.
Setting the PIV PIN:
Set the PIV PIN from a PKCS#11 tool on your PC. A confirmation dialog appears on the Openloop screen — approve it.
Deleting the PIV PIN:
Tap the trash icon in the PIV section of the Passkey screen.
▲ Warning: running “Reset PIV” deletes every PIV key and certificate. You will have to set up SSH authentication and PDF signing again.
▲ Important: PIV keys cannot be restored from a recovery phrase. After a reset or a factory reset they can never be recovered. You will have to regenerate the keys and reissue the certificates.
Here is how the Openloop screens are organized. You can reach the eight screens directly from the navigation bar, and swipe left and right to move between them.
Openloop navigation bar (scrolls horizontally)
│
├── Home ─────────────── Logo, connection mode, addresses for 5 currencies
│
├── Send ─────────────── Scan transaction QR → display signed QR
│
├── Receive ──────────┬── Choose a currency (7 options) → show address
│ └── Show QR
│
├── Wallet
│ ├── Create Wallet ──── Generate / Restore
│ ├── Connect Wallet ─── BTC/ETH/XRP/SOL
│ ├── Erase Wallet
│ └── Recovery Phrase
│
├── Passkey
│ ├── FIDO2/Passkey ─── ON/OFF, count, passkey list (delete individually)
│ │ Reset passkeys (deletes HMAC + seed + all entries)
│ │
│ └── PIV/PKCS#11 ───── ON/OFF, PIV PIN management
│ Slot status (9A/9C/9D/9E: algorithm + certificate)
│ Reset PIV (all slots + PIN)
│
├── Security
│ ├── PIN lock timing: ─ On sleep / On long sleep / At boot only / Off
│ ├── Set PIN (4-6 digits) / Change PIN
│ └── Delete PIN
│
├── Coin ─────────────── BTC/ETH/XRP/SOL/TRX
│ ├── Bitcoin ──────── Supported networks, Air Gap format (BBQr/UR), USB/BLE format
│ ├── Ethereum ─────── Supported networks, supported tokens, Air Gap format, USB/BLE format
│ ├── XRP ──────────── Supported networks, Air Gap format, USB/BLE format
│ ├── Solana ───────── Supported networks, Air Gap format, USB/BLE format
│ └── TRON ─────────── Supported networks, USB/BLE format
│
└── Settings
├── Sound ────────── Click sound ON/OFF, volume
├── Language ─────── Japanese / English
├── USB ──────────── ON/OFF, mode (Native / Compatible)
├── BLE ──────────── ON/OFF, pairing management
├── <span class="symbol warn">▲</span> Factory Reset
└── About ────────── Version, copyright, open-source libraries
Related sections: initial setup → Ch. 2, screen operation → Ch. 3, connection methods → Ch. 7, security → Ch. 8, passkeys → Ch. 9, PIV → Ch. 10
Over-the-air (OTA) updates let you update the device firmware to the latest version.
Why update:
▲ Important: Openloop has no internet connectivity. Firmware updates are performed over USB or BLE using Openloop Connect (the desktop or mobile app). You can download Openloop Connect from https://crypto.haudi.jp/openloop/connect/
Openloop firmware updates are performed with Openloop Connect.
The mechanism:
ℹ Note: the device on its own cannot check for or download updates. It must be connected to Openloop Connect.
▲ Important: a firmware update can only be started while the device is awake and showing nothing on screen. The update is rejected when:
This applies even if you have set the PIN lock to “Off.” An update cannot be started while the device is asleep.
If the update is rejected, touch the device to wake it, unlock it if a PIN screen appears, close whatever is on screen, and start the update again.
ℹ Why this restriction exists: replacing the firmware is the most far-reaching operation the device can perform. If the update confirmation appeared on top of the lock screen, the update could be approved without the PIN ever being entered. Requiring an awake, idle device means the update is always approved by someone who can actually operate it.
| Item | Contents |
|---|---|
| Current | The current firmware version |
| New | The version to be installed |
| Size | The firmware size (KB) |
| Hash | The first 16 digits of the SHA-256 hash |
| N s remaining | A 30-second countdown |
▲ The dialog warns you not to disconnect. If you do nothing for 30 seconds, it is rejected automatically.
Update complete: you can confirm the new version under “Settings” → “About”
You can also update over BLE (the steps are almost identical to USB).
▲ Note: keep your phone close to the device during a BLE update so the connection does not drop.
ℹ Also: while asleep on battery power the device does not advertise over BLE. If your phone cannot find it, wake the device first.
If an update fails, one of the following error messages appears:
Example errors:
You may also see this error before the update starts:
What to do:
▲ Important: even if an update fails, your wallet data is unaffected (it is safe).
Check the current version under “Settings” → “About.”
ℹ Tip: updating regularly keeps you on the latest features and security.
A: You can recover if you have your recovery phrase.
▲ Warning: without your recovery phrase, you lose your assets.
A: Restart as follows.
ℹ Tip: this resolves almost every problem.
A: Check the following.
ℹ Tip: when a QR code has several frames, wait for it to cycle through automatically.
Over USB:
Over BLE:
A: Unfortunately, there is no way to recover it.
▲ Worst case: if the device breaks, your assets are lost forever.
What to do right now:
Display the recovery phrase again: “Wallet” screen → “Recovery Phrase”
Make several copies: paper plus a metal plate
Store them in different places
ℹ The lesson: your recovery phrase is your assets. Guard it carefully.
Cause: the PIN is incorrect.
What to do:
Cause: no wallet has been created.
What to do:
Cause: when this appears on a device that has no wallet yet (first power-on, or just after “Erase Wallet”), it is a false alarm from a defect in v1.1.0 and earlier, not a fault. Fixed in v1.1.1 — from v1.1.1 on, the “Welcome to Openloop” dialog appears as it should.
What to do:
▲ If it appears suddenly on a device with a wallet you were using, it may not be a false alarm (see 8.4).
Cause: Bluetooth pairing failed.
What to do:
Check the BLE setting: “Settings” → “BLE” → ON
Re-check the pairing code: do the six digits match?
Pair again: “Unpair” → “Start pairing”
Cause: the firmware update failed.
What to do:
Restart the device
Switch to USB (if you were on BLE)
Try the update again
ℹ Tip: your wallet data is unaffected (it is safe).
Cause: the recovery phrase is wrong.
What to do:
It erases all data and returns the device to its initial state.
▲ Warning: this cannot be undone.
Data that is deleted:
Data that is not deleted:
▲ About recovery: your wallet’s crypto assets can be restored from your recovery phrase. However, FIDO2 passkeys and PIV keys cannot be restored. Passkeys must be registered again at each service, and PIV keys must be regenerated with new certificates issued.
▲ Essential: check the following.
<span class="symbol warn">▲</span> Warning: danger zone
The following will be completely erased:
- Recovery phrase (mnemonic)
- PIN
- All settings
- All wallet data
This cannot be undone!
[Erase All] [Cancel]
Done: the device has been returned to factory condition.
Recovery mode is an emergency feature that starts automatically or manually when the main firmware becomes corrupted and will not boot. Recovery firmware stored in a separate partition starts up, letting you reinstall the main firmware over USB or BLE.
Characteristics of recovery mode:
▲ Important: release within 3 seconds of the tone. Too late and it boots normally.
ℹ Tip: the trick is to use the tone as your cue. Even if the volume is set to zero, the timing is judged internally in exactly the same way.
In recovery mode you see the following information and buttons:
Information shown:
Buttons:
▲ Note: if the main firmware is corrupted, tapping “Boot Main” may return you to recovery mode. In that case you need to reinstall the firmware.
You can change the following on the settings screen:
ℹ Tip: even when the main firmware will not boot, you can turn USB or BLE on from the recovery mode settings screen and then connect and update with Openloop Connect.
Supported transports:
How to update:
▲ Note: do not power the device off during a firmware update.
| Network | Short name | Purpose |
|---|---|---|
| Bitcoin Mainnet | BTC Main | Real transactions (production) |
| Bitcoin Testnet | BTC Test | Development and testing |
1... (BIP44)3... (BIP49)bc1q... (BIP84)bc1p... (BIP86) ▲ Address display only. Signing is
not supportedtb1q... and so onm/84'/0'/0'/0/0 (BIP84: Native
SegWit)m/49'
(Nested SegWit), m/44' (Legacy), or m/48'
(multisig) — see 4.1▲ Taproot
(m/86') cannot be signed. If you create a Taproot
account in your companion wallet, the signing confirmation screen shows
“Cannot sign: Taproot (P2TR) is not supported” and the “Sign” button is
disabled.
ℹ Tip: compatibility with Sparrow Wallet is excellent.
ℹ For details of the confirmation screen, see “6.7.1 Bitcoin (BTC).”
Openloop supports every EVM chain on which a CoinGecko Top 1000 token exists.
Support at a glance:
| Category | Count |
|---|---|
| Mainnets | 129 |
| Testnets | 86 |
| Total | 215 |
Broadly, this covers Ethereum and its layer 2s, alternative layer 1s (BNB Smart Chain, Avalanche, and so on), ZK rollups, and emerging chains. For the complete list of built-in network names, see “15.7 Built-in EVM networks.”
Major networks:
| Display name | Chain ID | Purpose |
|---|---|---|
| Ethereum Mainnet | 1 | Production |
| Ethereum Sepolia | 11155111 | Testing |
| Ethereum Holesky | 17000 | Testing |
| Arbitrum One | 42161 | Layer 2 |
| Arbitrum Sepolia | 421614 | Testing |
| Optimism | 10 | Layer 2 |
| Optimism Sepolia | 11155420 | Testing |
| Base | 8453 | Layer 2 (Coinbase) |
| Base Sepolia | 84532 | Testing |
| Polygon | 137 | Sidechain |
| Polygon Amoy | 80002 | Testing |
| zkSync Era | 324 | zkRollup |
| zkSync Sepolia | 300 | Testing |
| Linea | 59144 | zkRollup |
| Linea Sepolia | 59141 | Testing |
| Scroll | 534352 | zkRollup |
| Scroll Sepolia | 534351 | Testing |
| Polygon zkEVM | 1101 | zkRollup |
| Polygon zkEVM Cardona | 2442 | Testing |
| BNB Smart Chain | 56 | EVM-compatible chain |
| BNB Testnet | 97 | Testing |
| Avalanche C-Chain | 43114 | EVM-compatible chain |
| Avalanche Fuji | 43113 | Testing |
| Fantom Opera | 250 | EVM-compatible chain |
| Fantom Testnet | 4002 | Testing |
| Gnosis Chain | 100 | Sidechain |
| Gnosis Chiado | 10200 | Testing |
| Cronos Mainnet | 25 | Crypto.com |
| Cronos Testnet | 338 | Testing |
| Mantle | 5000 | Layer 2 |
| Mantle Sepolia | 5003 | Testing |
| Blast | 81457 | Layer 2 |
| Blast Sepolia | 168587773 | Testing |
| Celo | 42220 | Mobile-first |
| Celo Alfajores | 44787 | Testing |
| Mode | 34443 | Layer 2 |
| Mode Sepolia | 919 | Testing |
Other supported networks (excerpt):
| Category | Networks included |
|---|---|
| Layer 2 | Manta Pacific, Metis, Boba, Immutable zkEVM, Taiko, Fraxtal |
| Alt L1 | Aurora, Moonbeam, Moonriver, Kava, Canto, Evmos, Klaytn |
| DeFi-focused | PulseChain, Ronin, Core DAO, Oasis, Harmony, Conflux |
| Gaming/NFT | Immutable X, Loot, Ancient8, Beam |
| Enterprise | XDC Network, Rootstock, Telos, Wanchain |
| Emerging | Berachain Bartio (testnet), Morph, Merlin, BOB, Zora |
ℹ Tip: for the list of built-in networks, see “15.7 Built-in EVM networks.”
About networks that are not built in:
0x... (20 bytes of hex)m/44'/60'/0'/0/0 (BIP44:
Ethereum)Coverage: the CoinGecko top 1000 tokens by market capitalization (2,599 entries including multi-chain deployments)
Supported tokens at a glance:
| Category | Tokens (approx.) | Representative tokens |
|---|---|---|
| Stablecoins | 180+ | USDT, USDC, DAI, FRAX, TUSD, BUSD |
| DeFi protocols | 450+ | UNI, AAVE, COMP, MKR, CRV, SUSHI |
| Layer 2 tokens | 200+ | ARB, OP, POL, IMX, LRC |
| Meme tokens | 150+ | DOGE, SHIB, PEPE, FLOKI, BONK |
| Gaming/NFT | 180+ | AXS, SAND, MANA, ENJ, GALA, APE |
| Infrastructure | 250+ | LINK, GRT, FIL, RNDR, OCEAN |
| Wrapped tokens | 120+ | WETH, WBTC, stETH, rETH, cbETH |
| Other | 1,057+ | Various project tokens |
Important characteristics:
0x...)Rough fees by network (as of 2025):
| Network | Gas fee (USD) | Speed |
|---|---|---|
| Ethereum Mainnet | $1–$20+ | 15 seconds to a few minutes |
| Arbitrum One | $0.01–$0.5 | Seconds |
| Base | $0.01–$0.3 | Seconds |
| Polygon | $0.001–$0.1 | Seconds |
Major token examples:
| Token | Contract address (mainnet) | Purpose |
|---|---|---|
| USDT | 0xdAC17F958D2ee523a2206206994597C13D831ec7 |
Stablecoin |
| USDC | 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 |
Stablecoin |
| DAI | 0x6B175474E89094C44Da98b954EedeAC495271d0F |
Decentralized stablecoin |
| LINK | 0x514910771AF9Ca656af840dff83E8264EcF986CA |
Oracle |
| UNI | 0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984 |
DEX governance |
| AAVE | 0x7Fc66500c84A76Ad7e9c93437bFc5Ac33E2DDaE9 |
Lending protocol |
| ARB | 0x912CE59144191C1204E64559FE8253a0e49E6548 |
Arbitrum L2 token |
| OP | 0x4200000000000000000000000000000000000042 |
Optimism L2 token |
| POL (ex-MATIC) | 0x455e53CBB86018Ac2B8092FdCd39d8444aFFC3F6 |
Polygon token |
| JPYC | 0xE7C3D8C9a439feDe00D2600032D5dB0Be71C3c29 |
Japanese yen stablecoin |
ℹ Tip: for the list of built-in tokens, see “15.8 Built-in ERC-20 tokens.”
About tokens that are not built in:
ℹ Note: check the contract address before sending, and confirm it is not a scam token.
ℹ For details of the confirmation screen, see “6.7 The signing confirmation screen in detail.”
Detailed instructions:
| Network | Short name | Purpose |
|---|---|---|
| XRP Ledger Mainnet | XRP Main | Real transactions |
| XRP Testnet | XRP Test | Testing |
r...ℹ Note: X-Address is not supported at present.
Supported: the destination tag required when sending to an exchange is displayed.
ℹ For details of the confirmation screen, see “6.7.4 XRP (Ripple).”
m/44'/144'/0'/0'/0' (BIP44,
all levels hardened)m/44'/144'/0'/0/0
(BIP44)▲ For XRP the derivation path changes with the curve you select. Set the curve on the “Connect Wallet” screen (see 4.1).
| Network | Purpose |
|---|---|
| Solana Mainnet | Real transactions |
7xKXtg...)m/44'/501'/0' (three
levels)m/44'/501'/0'/0' (four levels)| Method | Support |
|---|---|
| Air Gap (UR) | ✓ |
| USB (APDU) | ✓ |
| BLE (APDU) | ▲ The device supports it, but there is currently no Solana wallet app that connects over BLE |
| Network | Purpose |
|---|---|
| TRON Mainnet | Real transactions |
T (for example
TJYs...)m/44'/195'/0'/0/0 (BIP44: TRON,
secp256k1)| Method | Support |
|---|---|
| Air Gap (UR) | ✗ Not supported |
| USB (APDU) | ✓ |
| BLE (APDU) | ▲ The device supports it, but there is currently no TRON wallet app that connects over BLE |
▲ TRON does not support Air Gap (QR codes). Use a USB connection for TRON.
A wallet that keeps private keys safely on a dedicated device. Because it is isolated from the internet, it is largely immune to malware.
A list of 12 or 24 English words. The only way to restore a wallet. Your most important asset.
An unsigned Bitcoin transaction. The standard format for signing with an air-gapped wallet.
A method that isolates a device completely from the internet, exchanging data through QR codes. The highest level of security.
The technique of generating many addresses hierarchically from a single seed (recovery phrase) — BIP32/BIP44/BIP84.
The production blockchain network where real crypto assets circulate.
A blockchain network for development and testing, where you can practise with worthless coins.
A format that splits large data across several QR codes for transmission. Optimized for Bitcoin PSBTs.
A general-purpose QR code format, expected to be adopted by many wallets.
The standard for HD (hierarchical deterministic) wallets. It lets you generate many addresses from one seed by specifying a derivation path (for example m/84’/0’/0’/0/0).
The standard for recovery phrases, whose words are drawn from a list of 2,048 English words.
Standards for address derivation paths. BIP44 is used for the traditional format (P2PKH); BIP84 for Native SegWit (bc1…).
The low-power Bluetooth standard, used to connect to phones.
Firmware updating over a wireless connection.
The token standard on Ethereum (USDT, USDC, and so on).
A secure authentication standard that replaces passwords, enabling passwordless sign-in to web services. CTAP2 (Client to Authenticator Protocol 2) is the protocol between the device and the browser.
An authentication credential based on FIDO2. A unique key pair is generated for each service and stored safely on the device.
The US government’s smart card authentication standard, used for SSH authentication, PDF signing, TLS client authentication, and more.
The standard interface to cryptographic tokens (smart cards, HSMs, and so on). Openloop uses it to reach the PIV features.
Openloop’s companion application, available for desktop (Windows/Mac/Linux) and mobile (iOS/Android). For PIV/PKCS#11 it works with the PKCS#11 library over WebSocket.
An optional identifier used when sending XRP. Required when sending to an exchange.
| Software | Transport | OS | Verified |
|---|---|---|---|
| Sparrow Wallet | QR code | Windows / Mac / Linux | ✓ Verified |
| Other KeyStone-compatible apps | QR code | Various | ✓ Many supported |
| Software | Transport | OS | Verified |
|---|---|---|---|
| MetaMask (PC) | USB (WebHID) | Chrome / Brave / Edge | ✓ Verified |
| MetaMask Mobile | BLE / QR code | iOS / Android | ✓ Verified |
| Rabby | USB (WebHID) | Chrome / Brave / Edge | ✓ Verified |
| Other Ledger-compatible apps | USB / BLE | Various | ✓ Many supported |
| Other KeyStone-compatible apps | QR code | Various | ✓ Many supported |
| Software | Transport | OS | Verified |
|---|---|---|---|
| XRP Toolkit | USB | Web | ✓ Verified |
| Other Ledger-compatible apps | USB / BLE | Various | ✓ Many supported |
| Software | Transport | OS | Verified |
|---|---|---|---|
| Other Ledger-compatible apps | USB | Various | ✓ Many supported |
| Software | Transport | OS | Verified |
|---|---|---|---|
| Other Ledger-compatible apps | USB | Various | ✓ Many supported |
ℹ About compatibility: Openloop uses the Ledger-compatible protocol over USB and BLE, and the KeyStone-compatible protocol over QR codes. Ledger-compatible applications other than Ledger Live, and KeyStone-compatible applications, generally work.
Openloop uses well-established third-party libraries:
| Library | Purpose | Licence |
|---|---|---|
| AES-GCM (Brian Gladman) | AES-GCM encryption | BSD |
| BBQr | The BBQr protocol | MIT |
| bc-ur | UR encoding/decoding | BSD-2-Clause-Patent |
| Blockstream Jade | OTA / wire protocol | MIT |
| ESP-BSP | Board support | Apache 2.0 |
| ESP-IDF | Firmware framework | Apache 2.0 |
| ESP32-Camera | Camera driver | Apache 2.0 |
| esp32_deflate | Compression/decompression | MIT |
| esp_jpeg | JPEG decoding | Apache 2.0 |
| esp_tinyusb | USB communication wrapper | Apache 2.0 |
| FreeRTOS | Real-time OS | MIT |
| LVGL | UI framework | MIT |
| lwIP | TCP/IP stack | BSD-3-Clause |
| mbedTLS | TLS / cryptography | Apache 2.0 |
| newlib | C standard library | BSD |
| NimBLE | BLE stack | Apache 2.0 |
| Noto Sans CJK (Google) | Japanese font | SIL OFL 1.1 |
| NXP SE050 Middleware | Secure element communication | BSD-3-Clause |
| quirc | QR code decoding | ISC |
| secp256k1 | Elliptic curve cryptography | MIT |
| TinyCBOR | CBOR encoding/decoding | MIT |
| TinyUSB | USB device stack | MIT |
| Trezor Crypto | Cryptography and signing | MIT |
You can see the details under “Settings” → “About.”
This tutorial walks through pairing Sparrow Wallet with Openloop over Air Gap (QR codes) and sending Bitcoin.
What you need:
Done: the Bitcoin transfer is complete.
This tutorial walks through pairing Safe (a multisig wallet) with Openloop over USB and sending Ethereum.
What you need:
Done: the transfer from Safe is complete.
Openloop supports every EVM network. The list below covers the built-in networks (215 chains) whose names are displayed on the device screen.
ℹ Note: EVM networks not in this list can still be used. In that case the chain ID is displayed instead of a network name.
| Chain ID | Network name | Native currency |
|---|---|---|
| 1 | Ethereum | ETH |
| 10 | Optimism | ETH |
| 14 | Flare Network | FLR |
| 19 | Songbird | SGB |
| 20 | Elastos | ELA |
| 24 | KardiaChain | KAI |
| 25 | Cronos | CRO |
| 30 | Rootstock RSK | RBTC |
| 40 | Telos | TLOS |
| 50 | XDC Network | XDC |
| 56 | BNB Smart Chain | BNB |
| 57 | Syscoin NEVM | SYS |
| 66 | OKT Chain | OKT |
| 82 | Meter | MTR |
| 88 | Viction | VIC |
| 100 | Gnosis Chain | XDAI |
| 106 | Velas | VLX |
| 122 | Fuse | FUSE |
| 128 | Huobi ECO Chain | HT |
| 130 | Unichain | UNI |
| 137 | Polygon | POL |
| 143 | Monad | MON |
| 146 | Sonic | S |
| 169 | Manta Pacific | ETH |
| 177 | HashKey Chain | HSK |
| 185 | Mint | ETH |
| 196 | X Layer | OKB |
| 199 | BitTorrent | BTT |
| 204 | opBNB | BNB |
| 232 | Lens | GHO |
| 239 | TAC | TAC |
| 250 | Fantom | FTM |
| 252 | Fraxtal | frxETH |
| 255 | Kroma | ETH |
| 288 | Boba Network | ETH |
| 295 | Hedera | HBAR |
| 324 | zkSync Era | ETH |
| 369 | PulseChain | PLS |
| 388 | Cronos zkEVM | zkCRO |
| 416 | SX Network | SX |
| 480 | World Chain | ETH |
| 592 | Astar | ASTR |
| 747 | Flow EVM | FLOW |
| 766 | QL1 | QOM |
| 964 | Bittensor EVM | TAO |
| 988 | Stable | FREE |
| 999 | HyperEVM | HYPE |
| 1030 | Conflux eSpace | CFX |
| 1088 | Metis Andromeda | METIS |
| 1101 | Polygon zkEVM | ETH |
| 1111 | WEMIX | WEMIX |
| 1116 | Core | CORE |
| 1135 | Lisk | ETH |
| 1284 | Moonbeam | GLMR |
| 1285 | Moonriver | MOVR |
| 1300 | Glue | GLUE |
| 1329 | Sei | SEI |
| 1514 | Story | IP |
| 1625 | Gravity | G |
| 1868 | Soneium | ETH |
| 1890 | LightLink | ETH |
| 1923 | Swellchain | ETH |
| 2001 | Milkomeda C1 | milkADA |
| 2020 | Ronin | RON |
| 2040 | Vanar | VANRY |
| 2222 | Kava | KAVA |
| 2345 | Goat | BTC |
| 2741 | Abstract | ETH |
| 2818 | Morph | ETH |
| 3338 | Peaq | PEAQ |
| 3637 | Botanix | BTC |
| 4162 | SX Rollup | SX |
| 4200 | Merlin Chain | BTC |
| 4689 | IoTeX | IOTX |
| 5000 | Mantle | MNT |
| 5031 | Somnia | STT |
| 5330 | Superseed | ETH |
| 5464 | Saga | SAGA |
| 5545 | DuckChain | TON |
| 6900 | Nibiru | NIBI |
| 7000 | ZetaChain | ZETA |
| 7560 | Cyber | ETH |
| 7700 | Canto | CANTO |
| 8217 | Kaia | KAIA |
| 8453 | Base | ETH |
| 8822 | IOTA EVM | IOTA |
| 9001 | Evmos | EVMOS |
| 9745 | Plasma | FSN |
| 10000 | SmartBCH | BCH |
| 11501 | BEVM | BTC |
| 13371 | Immutable zkEVM | IMX |
| 16661 | 0G | A0GI |
| 22776 | Map Protocol | MAPO |
| 23294 | Oasis Sapphire | ROSE |
| 31612 | Mezo | BTC |
| 33139 | ApeChain | APE |
| 34443 | Mode | ETH |
| 39797 | Energi | NRG |
| 41923 | EDU Chain | EDU |
| 42161 | Arbitrum One | ETH |
| 42170 | Arbitrum Nova | ETH |
| 42220 | Celo | CELO |
| 42793 | Etherlink | XTZ |
| 43111 | Hemi | ETH |
| 43114 | Avalanche C-Chain | AVAX |
| 48900 | Zircuit | ETH |
| 50104 | Sophon | SOPH |
| 55244 | Superposition | ETH |
| 57073 | Ink | ETH |
| 59144 | Linea | ETH |
| 68414 | Henesys | HNS |
| 80094 | Berachain | BERA |
| 81457 | Blast | ETH |
| 83872 | Zedxion | ZEDX |
| 98866 | Plume | ETH |
| 167000 | Taiko | ETH |
| 200901 | Bitlayer | BTC |
| 534352 | Scroll | ETH |
| 747474 | Katana | ETH |
| 1440000 | XRPL EVM | XRP |
| 7777777 | Zora | ETH |
| 21000000 | Corn | BTCN |
| 245022934 | Neon EVM | NEON |
| 666666666 | Degen | DEGEN |
| 888888888 | Ancient8 | ETH |
| 1313161554 | Aurora | ETH |
| 1380012617 | Rari Chain | ETH |
| 1666600000 | Harmony | ONE |
| 2046399126 | SKALE Europa | sFUEL |
| Chain ID | Network name | Native currency |
|---|---|---|
| 16 | Songbird Coston | CFLR |
| 31 | Rootstock Testnet | tRBTC |
| 41 | Telos Testnet | TLOS |
| 51 | XDC Apothem | TXDC |
| 65 | OKT Chain Testnet | OKT |
| 71 | Conflux eSpace Testnet | CFX |
| 83 | Meter Testnet | MTR |
| 89 | Viction Testnet | VIC |
| 97 | BNB Testnet | tBNB |
| 114 | Flare Coston2 | C2FLR |
| 123 | Fuse Sparknet | SPARK |
| 133 | HashKey Testnet | HSK |
| 195 | X Layer Testnet | OKB |
| 256 | Huobi ECO Testnet | HT |
| 282 | Cronos zkEVM Testnet | zkTCRO |
| 296 | Hedera Testnet | HBAR |
| 300 | zkSync Sepolia | ETH |
| 338 | Cronos Testnet | TCRO |
| 545 | Flow EVM Testnet | FLOW |
| 919 | Mode Sepolia | ETH |
| 943 | PulseChain Testnet | tPLS |
| 1001 | Kaia Kairos | KAIA |
| 1029 | BitTorrent Donau | BTT |
| 1075 | IOTA EVM Testnet | IOTA |
| 1112 | WEMIX Testnet | tWEMIX |
| 1115 | Core Testnet | tCORE |
| 1287 | Moonbase Alpha | DEV |
| 1301 | Unichain Sepolia | ETH |
| 1513 | Story Aeneid | IP |
| 1687 | Mint Sepolia | ETH |
| 1891 | LightLink Pegasus | ETH |
| 1946 | Soneium Minato | ETH |
| 2021 | Ronin Saigon | RON |
| 2221 | Kava Testnet | TKAVA |
| 2358 | Kroma Sepolia | ETH |
| 2442 | Polygon zkEVM Cardona | ETH |
| 2522 | Fraxtal Testnet | frxETH |
| 2810 | Morph Holesky | ETH |
| 4002 | Fantom Testnet | FTM |
| 4202 | Lisk Sepolia | ETH |
| 4690 | IoTeX Testnet | IOTX |
| 4801 | World Chain Sepolia | ETH |
| 5003 | Mantle Sepolia | MNT |
| 5611 | opBNB Testnet | tBNB |
| 7001 | ZetaChain Athens | aZETA |
| 7701 | Canto Testnet | CANTO |
| 9000 | Evmos Testnet | tEVMOS |
| 10001 | SmartBCH Testnet | BCHT |
| 10200 | Gnosis Chiado | XDAI |
| 11124 | Abstract Testnet | ETH |
| 11155111 | Ethereum Sepolia | ETH |
| 11155420 | Optimism Sepolia | ETH |
| 11503 | BEVM Testnet | BTC |
| 13473 | Immutable zkEVM Testnet | tIMX |
| 13505 | Gravity Sepolia | G |
| 17000 | Ethereum Holesky | ETH |
| 23295 | Oasis Sapphire Testnet | TEST |
| 28882 | Boba Sepolia | ETH |
| 33111 | ApeChain Curtis | APE |
| 37111 | Lens Sepolia | GHO |
| 43113 | Avalanche Fuji | AVAX |
| 44787 | Celo Alfajores | CELO |
| 48899 | Zircuit Testnet | ETH |
| 49797 | Energi Testnet | tNRG |
| 57054 | Sonic Blaze | S |
| 59141 | Linea Sepolia | ETH |
| 59902 | Metis Sepolia | tMETIS |
| 80002 | Polygon Amoy | POL |
| 80084 | Berachain Bartio | BERA |
| 84532 | Base Sepolia | ETH |
| 98864 | Plume Testnet | ETH |
| 128123 | Etherlink Testnet | XTZ |
| 167009 | Taiko Hekla | ETH |
| 168587773 | Blast Sepolia | ETH |
| 200810 | Bitlayer Testnet | BTC |
| 421614 | Arbitrum Sepolia | ETH |
| 534351 | Scroll Sepolia | ETH |
| 686868 | Merlin Testnet | BTC |
| 743111 | Hemi Sepolia | ETH |
| 763373 | Ink Sepolia | ETH |
| 999999999 | Zora Sepolia | ETH |
| 1440002 | XRPL EVM Devnet | XRP |
| 1666700000 | Harmony Testnet | ONE |
| 3441006 | Manta Pacific Sepolia | ETH |
| 245022926 | Neon EVM Devnet | NEON |
| 1313161555 | Aurora Testnet | ETH |
Openloop supports every ERC-20 token. The summary below covers the built-in tokens (2,599 entries) whose names and symbols are displayed on the device screen.
ℹ Note: ERC-20 tokens not in this list can still be used. In that case the contract address is displayed instead of a token name.
| Category | Tokens (approx.) | Representative tokens |
|---|---|---|
| Stablecoins | 180+ | USDT, USDC, DAI, FRAX, TUSD, BUSD, USDD, PYUSD |
| DeFi protocols | 450+ | UNI, AAVE, COMP, MKR, CRV, SUSHI, YFI, SNX |
| Layer 2 tokens | 200+ | ARB, OP, POL, IMX, LRC, METIS, BOBA |
| Meme tokens | 150+ | DOGE, SHIB, PEPE, FLOKI, BONK, WIF, BRETT |
| Gaming/NFT | 180+ | AXS, SAND, MANA, ENJ, GALA, APE, ILV, MAGIC |
| Infrastructure | 250+ | LINK, GRT, FIL, RNDR, OCEAN, ANKR, LPT |
| Wrapped tokens | 120+ | WETH, WBTC, stETH, rETH, cbETH, wstETH |
| Exchange tokens | 80+ | BNB, OKB, CRO, KCS, GT, HT |
| DAO/governance | 100+ | ENS, APE, LDO, RPL, CVX, AURA |
| Other | 877+ | Various project tokens |
ℹ The per-category counts are rough approximations. Category is not stored in the token data, so the total does not match the number of registered entries (2,599).
| Chain | Chain ID | Tokens |
|---|---|---|
| Ethereum | 1 | 642 |
| BNB Smart Chain | 56 | 387 |
| Base | 8453 | 240 |
| Arbitrum One | 42161 | 181 |
| Polygon | 137 | 122 |
| Avalanche C-Chain | 43114 | 92 |
| Optimism | 10 | 80 |
| Other 119 chains | - | 855 |
| Total | - | 2,599 |
Each token entry contains the following:
| Field | Description | Example |
|---|---|---|
| chain_id | The chain the token is deployed on | 1 (Ethereum) |
| address | The contract address (20 bytes) | 0xdAC17F958D2ee523a2206206994597C13D831ec7 |
| symbol | The token symbol | USDT |
| decimals | The number of decimal places | 6 |
| name | The token name | Tether USD |
Thank you for choosing the Openloop hardware wallet.
We hope this manual helps you manage your crypto assets safely and comfortably.
Three things to remember:
Enjoy managing your crypto assets safely.
Haudi Crypto, Inc. — Openloop development team Version 1.1.1 | 2026-08-13
© 2026 Haudi Crypto, Inc. All rights reserved.