User Manual
Openloop Pay Mini Wallet
Contents
- Introduction
- Requirements
- Connecting a wallet
- Checking balances
- Manage tokens &
networks
- Sending
- Loading a payment from a
QR code
- Switching accounts
- History and CSV export
- dApp integration
(extension only)
- Security
- Troubleshooting
- Specifications
- Contact
1. Introduction
Openloop Pay is a mini wallet that makes stablecoins
easy to use. You can check balances and
send crypto assets. It runs as a browser extension on
your desktop and as a web app on your smartphone.
Supported tokens and networks are EVM chains
(Ethereum and EVM-compatible chains), TRON and
Solana. Alongside the built-in stablecoins (JPYC / USDC
/ USDT / TUSD / USDD), you can add other tokens on the EVM chains. See
§13 “Specifications” for the full list.
Your private keys stay inside your Openloop hardware wallet (or the
wallet you connect); Openloop Pay never stores or accesses them
(non-custodial).
Openloop Pay is a companion wallet that holds no
keys of its own. The wallet itself (your keys) lives in your Openloop
device or the wallet you connect over WalletConnect; Openloop Pay only
shows balances and relays transactions for signing. So, unlike wallets
that keep an (encrypted) key in the browser, even if the web app or
extension were compromised, there are no secrets inside to steal.
1.1 Key features
| Feature |
Description |
| Wallet connection |
Connect Openloop over USB / Bluetooth, or connect a supported wallet
via WalletConnect |
| Balances |
View your token balances and your gas (fee) assets |
| Manage tokens & networks |
Choose which token × network to show and send; add and remove
them |
| Sending |
Enter a recipient and amount, then approve with the connected
wallet |
| QR scanning |
Read a payment-request QR code to pre-fill the send form |
| History |
Review send history and export it as CSV |
| dApp integration (extension only) |
Connect to dApps in your browser and approve requested signatures on
your Openloop device |
| Choose which chains to use |
Turn TRON and Solana on or off in Settings (EVM is always on) |
1.2 What you can connect
- Openloop hardware wallet — over USB on a desktop,
or Bluetooth on a smartphone. You review and approve signing on the
Openloop device itself.
- WalletConnect-compatible wallets — Openloop Connect
and other WalletConnect-compatible wallets.
- dApps (browser extension only) — decentralized apps
on the web can request signatures through Openloop Pay. See §10.

2. Requirements
Openloop Pay ships in two forms: a browser extension
(Chrome/Edge only) and a web app
(https://www.crypto.haudi.jp/openloop/pay/app/). Which
connection methods the web app can offer depends on the browser.
2.1 Web-app support matrix
| Environment |
USB (WebHID) |
Bluetooth (BLE) |
Safari-extension bridge |
WalletConnect |
| Desktop Chrome / Edge |
✓ |
– |
– |
✓ |
| Desktop Firefox |
– |
– |
– |
✓ |
| Desktop Safari (macOS) |
– |
– |
✓ (requires the macOS Openloop
Connect) |
✓ |
| Android Chrome / Samsung Internet |
– |
✓ |
– |
✓ |
| Android Firefox |
– |
– |
– |
✓ |
| iPhone / iPad Safari |
– |
– |
✓ (requires iOS Openloop Connect) |
✓ |
| iPhone / iPad Chrome / Firefox / Edge |
– |
– |
– |
✓ |
- ✓ = works / – = not usable
(browser API missing, etc.)
- WalletConnect works everywhere as long as you have a compatible
wallet (e.g. Openloop Connect) at hand.
- Firefox implements neither WebHID nor WebBluetooth, so device access
on Firefox is through WalletConnect.
- Android Chrome exposes a WebHID API in name, but USB-OTG for a
hardware wallet is essentially never available on Android — use BLE
instead.
- macOS Safari has no WebHID / WebBluetooth support,
but with the Safari extension bundled in the macOS Openloop
Connect enabled, it reaches an Openloop device over
USB through that extension (§2.3). WalletConnect remains
available as before (and you must allow pop-ups — see
the note in §3.3).
2.2 Extension version
- Runs on Chrome / Microsoft Edge (Chromium-based).
No Firefox or Safari extension version.
- The extension version connects to Openloop over USB (WebHID) and
also supports dApp integration (§10).
- Only one extension window is active at a time, across the
whole browser. Side panel or full tab, one at a time. Open
Openloop Pay in another window and that one takes over; the previous one
shows “Openloop Pay is open in another window.”
- A window showing a confirmation is never taken
over. While a transfer or signature confirmation is open, a
newly opened window shows “Another window is showing a
confirmation. This one takes over when it finishes.” and waits.
Once the confirmation is done, that window becomes usable
automatically.
- The web app has no such limit — open as many tabs as you like.
2.3 Using Openloop
Pay in Safari (iPhone / iPad / Mac)
Safari does not implement WebHID or WebBluetooth, so it cannot talk
to an Openloop device directly. Enabling the Safari extension bundled
with the Openloop Connect app bridges Safari to the
Openloop device.
| Device |
App to install |
Path to the Openloop device |
| iPhone / iPad |
iOS Openloop Connect |
Bluetooth |
| Mac |
macOS Openloop Connect |
USB |
This manual only covers what Openloop Pay does. For the Openloop
Connect app itself, see the Openloop Connect user manual.
The steps below are for iPhone / iPad.
Setup:
- Install “Openloop Connect” from the App Store
(iPhone / iPad).
- Open Settings → Safari → Extensions.
- Tap Openloop Connect and switch it
On.
- Set Permissions → All Websites to
Allow (recommended). Or grant only
crypto.haudi.jp from the “AA” button
next to Safari’s address bar → Website Settings when
you first open Openloop Pay.
- Reopen Openloop Pay. The connect screen will now
list your Openloop over Bluetooth.
Important — open Openloop Pay in Safari itself, not from a
Home Screen icon. If you use “Add to Home
Screen”, iOS runs the web app in a standalone window
that is isolated from Safari, and Safari extensions do not run
inside it — so the Openloop Connect bridge is unavailable and
Bluetooth appears greyed out. This is an iOS platform
limitation and cannot be fixed by any Safari extension setting. Always
open Openloop Pay from a normal Safari tab
(https://www.crypto.haudi.jp/openloop/pay/app/).
(WalletConnect, §3.3, still works from a Home Screen icon because it
does not need the extension.)
On a Mac the connection is over USB. With the Safari
extension bundled in the macOS Openloop Connect enabled, Safari can use
an Openloop device plugged in over USB (not Bluetooth).
Note that on a Mac without the extension enabled, USB cannot be selected
on the connect screen — use WalletConnect (QR code) instead (§3.3).
The iOS Openloop Connect app also works as a
WalletConnect-compatible wallet (§3.3), independently
of the Safari extension. WalletConnect works whether or not the Safari
extension is enabled.
2.4 QR code reading
- On both smartphone and desktop, the browser needs camera permission.
Some browsers may not support this (see §7).
3. Connecting a wallet
When you open the app, the “Connect a wallet” screen appears. Choose
how to connect.

3.1 Connect over USB (desktop)
- Connect Openloop to your desktop with USB.
- Choose Openloop (USB).
- In the browser’s device chooser, select your Openloop (first time
only).
- Once connected, that account’s balances appear.
▲ Plug in only one
Openloop. If two or more Openloop devices are connected over
USB, the app cannot choose which one to use — so it may show the address
and balances of a device you never picked (this can
happen if, say, a second one is plugged in just to charge). Leave only
the device you want to use plugged in, and unplug the rest.
The browser’s USB device chooser may not open inside the extension’s
side panel. In that case, connect from a full tab. Once you’ve granted
access, it reconnects without the chooser next time.
3.2 Connect over Bluetooth
(smartphone)
- Turn on Openloop and enable Bluetooth.
- Start connecting in the app and pick your Openloop from the
list.
- After pairing, that account’s balances appear.
The name in the list depends on your
environment.
| Environment |
Chooser |
Example |
| Android (Chrome) |
The browser’s own Bluetooth chooser |
Openloop (30:ED:A0:D4:BE:F6) |
| iPhone / iPad (Safari) |
Openloop Pay’s own list |
Openloop-BEF6 |
| (for reference) Openloop Connect app |
The app’s own list |
Openloop-BEF6 |
On Android the browser’s chooser is used, so the
device name appears simply as Openloop; when several are
found the browser appends the Bluetooth address to tell them apart. On
iPhone / iPad, Openloop Pay draws the list itself, so
you see the same Openloop-BEF6 form as in Openloop
Connect.
All of these are the same device. The last four
characters (BE:F6 → BEF6 in the example)
correspond. Use this to tell them apart if you own more than one
Openloop.
3.3 Connect via WalletConnect
- Choose WalletConnect.
- Pick the wallet you want to connect (e.g. Openloop Connect) from the
list, or scan the QR code.
- Approve the connection on the wallet’s side.
Right after connecting, the selected wallet may still be on the
network it used last. If the network isn’t switched
automatically when you send, set the network on the wallet’s side.
WalletConnect with TRON and
Solana
If the wallet you connect supports TRON or Solana, you can
send on those chains too, approving in that wallet.
Openloop Connect supports them.
- Only the chains you turned on in settings are
requested when connecting (§5.4).
- If you turn one on later, reconnect WalletConnect.
The set is fixed at connect time, so it does not apply to the current
session.
- Wallets without that support still connect for EVM, as before.
- The address is chosen by the connected wallet. No
account-switch button is shown (§8.4).

On macOS Safari you have to allow pop-ups. Safari
blocks pop-up windows by default. When you pick Desktop
(the Openloop Connect desktop app) from the WalletConnect list, Openloop
Pay only opens the app after finishing a round trip to the relay server
— and Safari treats a window opened that long after your click as a
pop-up and blocks it, so nothing happens when you choose
it. Open Safari’s Settings →
Websites → Pop-up Windows and set
crypto.haudi.jp to Allow. You do not
need this if you connect to Openloop Connect on your phone by scanning
the QR code, or if you use Chrome / Edge.
4. Checking balances
Once connected, the main screen shows:

- Wallet card — the connection badge
(Openloop for a connected device, WalletConnect
· wallet name over WalletConnect) and one address row
per chain (ETH / TRX /
SOL). Each row has a copy icon and an
account switch icon on the right. The SOL row also
shows the derivation path in use next to the symbol
(
m/44'/501'/0' by default). A chain you turned off in
settings has no row (§5.4).
- Assets — the balances of the tokens you chose to
show. The heading has a Manage tokens & networks
button (the coins icon) and a reload button.
- When the same currency exists on several networks,
one grouped row is shown with a per-network breakdown
beneath it.
- The Total on the grouped row adds up
mainnet rows only (testnets are not added in). The
breakdown lists mainnets first.
- A currency on a single network is shown as one plain row, with no
total (it would just repeat the row).
- Gas (fee) assets — the native tokens used to pay
transaction fees (gas). These are used only for fees and appear
automatically based on the networks you use. If you
have selected every native token under “Assets”, this panel is not shown
at all — the same balances are already right above it.
You choose which tokens and networks appear under “Assets” in the
next chapter, “Manage tokens & networks.” Gas native tokens appear
automatically for the networks your assets are on, so you normally don’t
need to select them separately.
4.1 Showing testnets
Turn on Show testnets to add testnet tokens and
networks to the list (their gas coins are shown too). This is useful for
testing. When it’s off, testnets appear neither in balances nor in the
lists. Leave it off for normal use.
5. Manage tokens & networks
This screen is where you choose which tokens — and on which networks
— to show and send. Open it from the Manage tokens &
networks link on the connect screen, or the manage button (coin
icon) on the balances screen.

The screen is divided into sections. The basic rule is:
built-in items (shipped with the app) can’t be removed; added
items (ones you brought in) can. Alternating sections have a
tinted background to keep them visually separate.
- Built-in tokens — JPYC, USDC, USDT, TUSD, USDD. Use
the per-network checkboxes to choose which currency × network
combinations to show and send. TRON and Solana appear here too (with
no number beside them — neither chain has an EVM-style
chain ID).
- Native tokens (select when sending) — each
network’s gas coin (ETH, POL, AVAX, KAIA, TRX,
SOL, …). Check these only when you want to send
them. Even unchecked, if you hold them they appear
automatically under “Gas (fee) assets.”
- Added tokens — tokens you’ve added. Remove each
with its trash icon. Add new ones from Add a
token.
- Built-in networks / Added networks — the networks
in use. Built-in ones can’t be removed (for TRON and Solana only
mainnet is built in; their testnets count as added
networks). Added ones can (removing a network also removes the tokens on
it).
Each screen has a breadcrumb at the top (e.g. Home ›
Manage tokens & networks › Add a token) so you can see where you
are. Tap any crumb to jump straight to that screen.
Back goes up one level.
5.1 Adding a token
- Press Add a token.
- Search by symbol or name.
- Pick a result to see the networks that token is
available on.
- Check the networks you want to add it on (you can pick several).
It’s added the moment you check it.


The network list also shows, dimmed, the networks
where that token is available as a built-in token. You
can see which of them are currently selected, but you can’t
change them here — change those in the “Built-in tokens”
section.
Networks this app has no RPC endpoint for can’t read balances or
broadcast, so they aren’t listed. For a token or network that isn’t
listed, use “Not found? Add manually” to enter a
contract address or RPC by hand (at your own risk — shown as
“unverified”).
5.2 Confirming a removal or
a deletion
Anything that takes an entry off your list asks first.
Removing and deleting are treated as different
things.
| Action |
What happens |
Confirmation title |
| Unchecking a box |
Only the selection goes. The definition stays, so
checking it again brings it back |
Remove from your list |
| 🗑 on an added token |
The definition itself is deleted. To use it again
you must re-enter its address and decimals |
Delete token |
| 🗑 on a network |
The network and the tokens on it are deleted |
Delete network |


5.3 Export / import settings
Buttons at the bottom let you export / import your
token and network settings (as a JSON file) — handy for moving your
setup to another device. Importing shows a confirmation that it will
overwrite your current settings, along with an
integrity check.
Anything that could not be imported is listed with the
reason (no endpoint could be determined / it has no name and
currency symbol / its explorer URL does not start with
https:// / it matches an entry in Openloop’s own table, and
so on). Nothing is dropped silently.
5.4 Choosing which chains to
use
TRON and Solana can be turned on or off in Settings (EVM is
always on).
- Press the gear button at the top right to open
Settings.
- Toggle Use TRON / Use Solana.
A chain you turn off shows no address and no assets, and Openloop Pay
does not ask your device for its address.

6. Sending
6.1 Steps to send
- In the send panel, choose the
token (currency × network) you want to send.
- Enter the recipient (type an address, or pick one
from the address book).
- Enter the amount. You can only enter it down to
that token’s number of decimal places (USDC: 6, JPYC:
18). Anything finer leaves Send disabled.
- Press Send.
- A confirmation screen appears. Check the recipient
(shown in full), the amount, and the network.
- Press Approve and sign with the connected wallet
(e.g. the Openloop device).
- When the send completes, the transaction ID and a link to the block
explorer are shown.


6.2 About the confirmation
screen
- The recipient is shown in full — never abbreviated.
Always check it.
- A caution is shown when sending on mainnet.
- The confirmation screen shows an “Auto-closes in N
seconds” countdown. If left untouched, it closes automatically
for safety (nothing is sent). Pressing Approve stops the countdown.
- You can close the confirmation with Cancel. Cancel
stays usable during a WalletConnect send in case the wallet is slow to
respond.
6.3 Address book
You can save a recipient with a label of your choice. Next time, just
pick it from the address book to fill in the recipient.

6.4 About Solana
Solana transfers differ from the other chains in a few ways.
- Send with your Openloop device connected, or approve in a
WalletConnect wallet that supports Solana.
- A fixed fee in SOL — 0.000005 SOL per signature,
shown on the confirmation screen as Network fee.
- Recipient account setup — if the recipient has no
account for that token yet, you pay to create one (about 0.002 SOL). The
confirmation screen shows this as Recipient account
setup, on a row of its own, separate from the
fee. The amount is whatever the chain charges at the time.
- Recipient token account — for SPL tokens the actual
destination is not the recipient’s wallet address but their account for
that token. When the recipient already has that account, the
confirmation screen shows a Recipient token account row
with the full address.
- ▲ These two rows never
appear together. When the account is being
created, you see Recipient account
setup and no token-account row; when it already
exists, the reverse.
- Minimum balance — an account must keep a minimum
balance, so you cannot send all of your SOL.
- Token-2022 is not supported. Transfers of that
token type are refused.
- There is no checksum to catch a typo. Solana
addresses have no upper/lower-case checksum like EVM addresses. ▲ Always check the whole address.
- Wait for the result. After sending, the outcome is
not final until the chain confirms it.
- Explorer links are available on mainnet only.

If the recipient account changes while you are
approving, the transfer stops. Try again.
7. Loading a payment from a QR
code
When you read a payment-request QR code, the send panel’s fields
(token, recipient, amount) are filled in automatically. There are two
ways to read it.
7.1 Read with the in-app
scanner
- Press the QR button at the top right of the send
panel.
- The camera starts; point it at the QR code (it reads
automatically).
- If the camera isn’t available, you can paste the code instead.

7.2 Read with the stock
camera (printed QR)
A printed payment link posted by a store can be read with your
phone’s stock camera. It shows a link; tapping it opens
Openloop Pay with the payment pre-filled.
7.3 What happens after reading
- If everything needed (token, recipient, amount) is
present, the confirmation screen opens
directly. It shows “Loaded from a scanned code,” and you can review and
approve.
- If something is missing, you’re told what was loaded and prompted to
enter the missing fields.


A standard format (EIP-681) is used so printed paper QRs work. Split
QR formats like BBQr are not used.
8. Switching accounts
One Openloop device holds several accounts. Use the switch icon next
to each address in the wallet card (beside the copy icon) to pick the
account for that chain.
Each chain is independent. Changing the EVM account
does not change your TRON or Solana account.

8.1 EVM (ETH)
Accounts are listed five at a time; “Show more” loads the next
five.
8.2 TRON (TRX)
The same list, with an index on each row.
8.3 Solana (SOL)
For Solana you first choose the derivation
depth.

- The choices are
m/44'/501' (2 levels),
m/44'/501'/* (3 levels) and m/44'/501'/*/0' (4
levels). The default is 3, and both the order
and the labels match the receive screen on your Openloop device.
- ▲ Match what the device is
set to. With a different depth, the same index gives a
different address. If an incoming transfer does not appear, check this
first.
- At 2 levels there is a single account. At 3 or 4 levels accounts are
listed five at a time.
- The SOL row in the wallet card shows the path currently in use.
8.4 How the choice is
remembered
- Your choice is remembered per Openloop device and
survives a browser restart.
- For the same device, every screen and every window shows the
same account.
- Over WalletConnect the wallet itself owns account selection, so this
switch is not shown. The address is chosen by that wallet, and the SOL
row shows no derivation path.
9. History and CSV export
Your send records appear in the History on the main
screen.

- From each transaction ID, you can view details in a block
explorer.
- Use the export button at the top right of the
history to export your records as a CSV file — handy
for accounting and bookkeeping.
History is stored only on your device (browser). It is never sent to
any external server.
10. dApp integration (extension
only)
The browser-extension build of Openloop Pay can
connect directly to dApps (decentralized apps) on the
web. Connection and signature requests from a dApp are relayed through
Openloop Pay to your Openloop device, where you always review and
approve the final action on-device.
The web app and the smartphone build do not integrate with dApps. To
connect to dApps, install the Openloop Pay extension in your desktop
browser.
10.1 How dApp connections work
- The extension exposes an EIP-1193 provider and announces itself via
EIP-6963. dApps see it in their wallet picker as “Openloop
Pay”.
- Access is granted per tab. Each tab where you open
a dApp is allowed and managed independently; opening the same site in
another tab creates a separate connection.
- Every send or signature request is shown in Openloop Pay and must
also be reviewed and approved on the Openloop device screen.
10.2 Which account a dApp sees
- Only EVM addresses are shared with dApps. TRON and
Solana addresses are never passed to a dApp.
- What a dApp sees is your EVM account, and that is
one per Openloop device (§8.4).
- A dApp keeps the address it was given when it
connected. Switching accounts in Openloop Pay afterwards is
not announced to dApps that are already connected, so
different dApps can be on different accounts at the same
time.
- The network is per tab. Switching the network in
one tab does not change a dApp in another tab.
- The account list appears only the first time you connect on
that device and when you switch on purpose.
After that, connections use the remembered account silently.
- If a dApp reconnects by itself, the remembered address is visible to
it even with no Openloop device attached. ▲ Signing still requires the device.
- Unplugging the device disconnects every dApp. Plug
it back in and each dApp reconnects silently with the remembered account
when it asks again.
10.3 See which sites are
connected
You can check the list of sites currently allowed to see your wallet
at any time.
- Press the gear button at the top right to open
Settings.
- Choose dApp management ›.
- Every connection is listed as one card: the
tab number and connect time on top, the site’s
host name in the middle, and a network
picker plus a Disconnect button at the
bottom.
- The connection belonging to the tab you are looking at is marked
Active and its card is highlighted.
Settings is a single screen: Language, Payment sound, Use
TRON, Use Solana and dApp
management. The dApp button at the top right
opens dApp management directly.


Connections are per browser tab. Opening and
connecting the same site in more than one tab creates a separate
connection on its own row (in the example above,
app.uniswap.org appears twice — as “Tab 1” and “Tab 3”).
Closing a tab automatically ends that tab’s connection, and
disconnecting is done per tab.
10.4 Disconnect one tab,
or disconnect all
- Press the Disconnect button (the power icon) on a
card to revoke just that connection (that tab). It can no longer see
your address; it must request access again next time. Other tabs and
other sites stay connected.
- Press Disconnect all at the bottom to revoke every
site (every tab) at once. This also disconnects Openloop Pay from the
Openloop device.
- The Disconnect button on the wallet card does the
same thing — disconnecting the device also disconnects every dApp (no
site can see an address that is no longer loaded).
Changing the network of one connection
The picker on each card sets the network that connection (that tab)
uses. The network is per tab, so changing it here does
not affect a dApp in another tab.
- The list holds the networks you actually use in Manage tokens &
networks, plus any you added by hand (§5). It follows your testnet
setting too.
- Networks outside that list are reachable through
Other…. A network picked there is not
added to the ones whose balances are shown — a dApp’s choice stays
inside its tab.
10.5 When the side panel is
closed
If a dApp requests an action (signing, switching accounts, …) while
the Openloop Pay side panel is closed, a small hint popup appears. Press
Open to open the side panel, then retry the action in
the dApp.

11. Security
Openloop Pay is built to help you send safely.
- A companion wallet with no keys of its own —
Openloop Pay stores no private key or seed phrase and holds no wallet
itself. Your keys live only inside the Openloop device (or your wallet).
Unlike wallets that keep an (encrypted) key in the browser, even if the
web app or extension were compromised, there are no secrets inside to
steal.
- Non-custodial — private keys stay inside the
Openloop device (or your wallet). Openloop Pay never stores or accesses
them.
- Review before signing — you always review the
details (recipient, amount, network) on the confirmation screen before
approving. When signing with Openloop, you can also check the details on
the device screen.
- Connected-device verification — before signing, it
checks that the connected device matches the account on screen. If a
different device is connected, it shows an error and prevents sending
from the wrong account.
- Confirmation auto-close — if you leave the
confirmation screen open, it closes automatically for safety.
- A window showing a confirmation is never taken over
(extension only) — while a transfer or signature confirmation is open,
opening Openloop Pay in another window does not close it; the new window
waits (§2.2).
- Full recipient address — the recipient address is
always shown in full, never abbreviated.
- Per-tab dApp access (extension only) — dApp
connections are granted per tab. Opening the same site in another tab
creates a separate, independent connection. You can disconnect any
connection — or all of them at once — from the gear icon → Settings →
dApp connections (§10).
11.1 Precautions
- Crypto transactions cannot be undone. Always check
the recipient and amount.
- Never share your recovery phrase. Openloop Pay will never ask for
it.
- Always check the contents of a scanned QR code or payment request
before sending.
12. Troubleshooting
- The camera isn’t available / permission is
denied
-
Allow camera use in your browser settings. You may be able to allow it
from the camera icon in the address bar. Some browsers (such as an
extension side panel) can’t use the camera; in that case, paste the code
instead.
- An address or balance I don’t recognise is shown
(USB)
-
Check whether two or more Openloop devices are
connected over USB. With more than one connected, the app cannot choose
which to use and may show the one you didn’t pick. Leave only the device
you want to use plugged in, unplug the rest, and connect again.
- The USB Openloop doesn’t appear in the chooser
(extension)
-
The USB chooser may not open in the extension side panel. Try connecting
from a full tab. Also, if Openloop Connect or similar is using the same
device, USB may be occupied and unavailable.
- A network I want to add isn’t listed
-
Networks this app has no RPC endpoint for can’t read balances or
broadcast, so they aren’t listed. If you know the RPC, add it by hand
from “Not found? Add manually.”
- WalletConnect shows “cannot connect”
-
The connection may be taking time to establish. Wait a moment and try
again.
- The send confirmation won’t close / there’s no
response
-
It’s waiting for a response from the connected wallet. Close it with
Cancel and try again.
- It says “This connection has no TRON. Reconnect
WalletConnect to use it.”
-
The wallet you connected did not accept TRON when the connection was
made. Reconnect WalletConnect, or connect your Openloop device. Solana
shows the same kind of message.
- It says “The connected wallet cannot sign TRON
transactions.”
-
The connection is fine, but that wallet cannot handle the signing
request. Reconnect with another wallet, or connect your Openloop device.
Solana shows the same kind of message.
- It says “The connected wallet’s TRON address changed. Please
reconnect.”
-
The address on screen and the address the current connection returns are
different. Reconnect WalletConnect. Solana shows the same kind of
message.
- I turned a chain on, but TRON / Solana still isn’t there
over WalletConnect
-
The requested chains are fixed at connect time.
Settings shows “Your current WalletConnect session has no TRON.
Reconnect to use it.” right under that chain’s checkbox.
Reconnect WalletConnect (§3.3).
- The network doesn’t match
-
The WalletConnect wallet may be on a different network than the one you
want to send on. Set the network on the wallet’s side.
- It says “Openloop Pay is open in another window.”
(extension)
-
Only one extension window is active at a time across the whole browser
(§2.2). The one you opened in another window has taken over. Open this
one again and it comes back.
- It says “Another window is showing a confirmation…” and
nothing responds (extension)
-
A transfer or signature confirmation is open in another window. A window
showing a confirmation is never taken over. Approve or cancel that
confirmation and this window becomes usable automatically.
- No TRON / Solana address or balance appears
-
If Use TRON / Use Solana is off in
settings, that chain shows no address and no assets, and the Openloop
device is never asked for its address (§5.4).
- A Solana transfer deducts SOL beyond the amount I’m
sending
-
If the recipient has no account for that token yet, you pay to create
one (about 0.002 SOL). It appears on the confirmation screen on a row of
its own, separate from the fee (§6.4).
- A dApp is still on my old account
-
A dApp keeps the address it was given when it connected. Switching
accounts in Openloop Pay is not announced to dApps already connected
(§10.2). To change it, disconnect that dApp (§10.4) and let it connect
again.
- Unplugging the device disconnected my dApps
-
That is by design. Unplugging disconnects every dApp. Plug it back in
and each dApp reconnects with the remembered account the next time it
asks (§10.2).
13. Specifications
13.1 Supported tokens (built-in)
Openloop Pay supports tokens on EVM chains (Ethereum
and EVM-compatible chains), on TRON and on
Solana. The stablecoins below ship built in and are
ready to send and receive without any setup.
| Token |
Supported mainnets |
| JPYC |
Ethereum / Polygon / Avalanche C-Chain / Kaia (4 chains) |
| USDC |
Ethereum / Polygon / Avalanche C-Chain / Base / Arbitrum One / OP
Mainnet / TRON / Solana (8 chains; on
the EVM chains this is Circle-issued native USDC) |
| USDT |
Ethereum / Polygon / TRON / Solana
(4 chains) |
| TUSD |
TRON (1 chain) |
| USDD |
TRON (1 chain) |
Testnet JPYC ships on Sepolia / Polygon Amoy / Avalanche Fuji / Kaia
Kairos (4 chains — enable Show testnets, §4.1), plus
the Circle-deployed USDC on Sepolia. On the TRON testnets (Shasta /
Nile) a test tUSDT is provided, and on Solana Devnet a
test tUSDC.
TRON and Solana tokens cannot be added. The built-in
entries above are the full set; the dictionary search and manual add
described in §13.3 are for the EVM chains only.
Solana Token-2022 is not supported. Transfers of
that token type are refused (§6.4).
13.2 Supported networks
(built-in)
| Type |
Networks |
| Mainnets (9) |
Ethereum / Polygon / Avalanche C-Chain / Base / Arbitrum One / OP
Mainnet / Kaia / TRON / Solana |
| Testnets (3) |
Sepolia / Polygon Amoy / Base Sepolia |
The TRON testnets (TRON Shasta / TRON Nile) and the
Solana testnets (Solana Devnet / Solana Testnet) are
treated as added networks, the same as Avalanche Fuji.
Selecting them in a built-in token’s network column enables them.
Each network ships with a public RPC endpoint (publicnode family) and
a block-explorer URL.
The TronGrid endpoints for TRON and the Solana endpoints ship with
the app and cannot be changed.
13.3 Added tokens and networks
- Search dictionary — the same token dictionary as
the Openloop device (924 symbols / 2,587 contracts),
searchable by symbol or name. The dictionary covers the EVM chains only,
and the built-in JPYC / USDC / USDT are excluded so they are not listed
twice (TUSD / USDD are TRON-only and were never in it).
- Manual add (token) — tokens not in the dictionary
can be added by contract address + network (shown as “unverified”).
- Add a network — any EVM chain outside the built-in
set can be added by name, RPC URL and explorer URL.
This whole section is EVM-only. On TRON and Solana
you can neither add tokens nor change the endpoint (§13.1, §13.2).
13.4 dApp integration
(extension only)
The browser-extension build talks to dApps over the following
standards.
| Item |
Supported |
| Provider API |
EIP-1193 (the window.ethereum
interface) |
| Provider discovery |
EIP-6963 (Multi Injected Provider Discovery —
coexists with other wallets) |
| Chain ID |
EIP-155 / CAIP-2 |
| RPC methods |
eth_requestAccounts / eth_accounts /
eth_chainId / eth_sendTransaction
(EIP-1559 type-2 tx) / personal_sign /
eth_signTypedData_v3 / eth_signTypedData_v4
(EIP-712) / wallet_switchEthereumChain
(EIP-3326) / wallet_addEthereumChain
(EIP-3085) |
| Not supported |
eth_signTypedData_v1 (legacy — dropped, no type info) /
eth_sign (blind-signing of an opaque hash — a strong red
warning is shown if requested) |
| Access grants |
Granted and revoked per tab (the tab where a dApp
is open) (§10) |
| Addresses shared |
EVM only. TRON and Solana addresses are never
passed to a dApp |
| Account |
One per Openloop device. A dApp keeps the address it got
when it connected (§10.2) |
13.5 WalletConnect
- WalletConnect v2 — supported as the
wallet-connection client (Openloop Pay itself is the companion / dApp
side, not the wallet).
- Connect by scanning a QR code or picking from the wallet list
(Openloop Connect and any WalletConnect v2-compatible wallet).
- Sends are broadcast on the connected wallet’s current
network. To send on a different network, switch it on the
wallet’s side.
- TRON and Solana — supported when the connected
wallet supports them. Only the chains turned on in settings are
requested at connect time (§3.3, §5.4).
13.6 Payment-request QR
- EIP-681 — the standard
ethereum: URI
format (contract address / transfer function / chain ID /
amount). Printed paper QRs can be opened from your phone’s stock camera
(§7).
- Split-QR formats such as BBQr are not used.
13.7 Web app vs. browser
extension
| Item |
Web app |
Browser extension (Chrome / Edge) |
| Runs on |
Desktop and smartphone |
Desktop only |
| Openloop (USB) |
Yes (WebHID-capable browser) |
Yes (may need full-tab consent) |
| Openloop (Bluetooth) |
Yes (supported smartphones) |
No (blocked by extension permissions) |
| WalletConnect |
Yes |
Yes |
| dApp integration (EIP-6963 / EIP-1193) |
No |
Yes |
| Camera QR scan |
Yes |
Limited (may not work in the side panel) |
| Open from payment link |
Yes |
Yes |
| Storage for history / address book |
In the browser |
In the extension storage |
| Windows open at once |
As many as you like |
One across the whole browser (§2.2) |
If you have any questions or trouble, please contact us.
Haudi Crypto, Inc. Email:
support@crypto.haudi.jp
You can also open the version, links to each document, and every
setting (Language, Payment sound, Use TRON, Use Solana, dApp management)
from the in-app gear (Settings) button.

Related documents: Terms of
Service / Privacy
Policy / Licenses