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 only (Ethereum
and EVM-compatible chains). Alongside the built-in stablecoins (JPYC /
USDC / USDT), you can add other EVM tokens. 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 |
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) |
– |
– |
– |
✓ |
| 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,
and there is currently no Openloop Safari extension for macOS. On macOS
Safari, only WalletConnect is available.
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).
2.3 Using Openloop Pay
on iPhone / iPad Safari
Safari does not implement WebHID or WebBluetooth, so it cannot talk
to an Openloop device directly. Install the iOS Openloop
Connect app and enable the Safari extension it bundles — this
bridges iPhone / iPad Safari to the Openloop device.
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.
A macOS Safari extension for Openloop Connect is not
currently shipped. On macOS, to use Openloop Pay with a
hardware wallet via Bluetooth, connect through WalletConnect (QR code)
using the Openloop Connect desktop app or an Openloop Connect on your
phone (§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.
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.
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.
4. Checking balances
Once connected, the main screen shows:

- Wallet card — the current account’s address, a
badge for the connection method, and copy / disconnect buttons.
- Assets — the balances of the tokens you chose to
show. Use the reload button at the top right to fetch the latest
balances.
- 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.
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. Use the
per-network checkboxes to choose which currency × network combinations
to show and send.
- Native tokens (select when sending) — each
network’s gas coin (ETH, POL, AVAX, KAIA, …). 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; 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.


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 deletion
Deleting a token or network shows a confirmation. Deleting a network
makes clear that the tokens on that network are removed
too.

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.
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.
- 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.

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
A single Openloop has multiple accounts. Use Switch
account on the wallet card to change which account is shown and
used for sending.

- The account you pick is remembered on this screen and shown
automatically next time.
- Press Switch account only when you want to use a
different one.
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 See which sites are
connected
You can check the list of sites currently allowed to see your wallet
at any time.
- Tap ⓘ to open the Info screen.
- Choose Settings ›.
- Choose dApp connections ›.
- Every connection is listed, each showing the tab
number and connect time, plus the site’s host
name.


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.3 Disconnect one tab,
or disconnect all
- Press the Disconnect button on a row 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).
10.4 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.
- 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 Info → 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.
- 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.
- 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.
13. Specifications
13.1 Supported tokens (built-in)
Openloop Pay supports EVM only — Ethereum and
EVM-compatible chains. The following three stablecoins
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 (6 chains, Circle-issued native USDC) |
| USDT |
Ethereum / Polygon (2 chains) |
Testnet JPYC ships on Sepolia / Polygon Amoy / Avalanche Fuji / Kaia
Kairos (4 chains — enable Show testnets, §4.1).
13.2 Supported networks
(built-in)
| Type |
Networks |
| Mainnets (7) |
Ethereum / Polygon / Avalanche C-Chain / Base / Arbitrum One / OP
Mainnet / Kaia |
| Testnets (3) |
Sepolia / Polygon Amoy / Base Sepolia |
Each network ships with a public RPC endpoint (publicnode family) and
a block-explorer URL.
13.3 Added tokens and networks
- Search dictionary — the same token dictionary as
the Openloop device (923 symbols / 2,552 contracts),
searchable by symbol or name (built-in JPYC / USDC / USDT
excluded).
- 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
ten can be added by name, RPC URL and explorer URL.
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) |
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.
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 |
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 the
settings screen (payment sound, dApp connections) from the in-app info
(ⓘ) button.

Related documents: Terms of
Service / Privacy
Policy / Licenses