Privacy Policy — Orchard Wallet

Effective date: 2026-05-23

Extension: Orchard Wallet (Chrome Web Store)

Contact: randylien@gmail.com

Orchard Wallet (“the extension”, “we”) is a self-custody crypto wallet browser extension. This policy explains what data the extension handles, what leaves your device, and what does not.

Summary

Data stored on your device

The extension persists the following in chrome.storage.local (with a fallback to localStorage only when chrome.storage is unavailable, e.g. during development):

DataPurpose
Encrypted keystore (walletRecord)The wallet itself — encrypted with a key derived from your WebAuthn passkey PRF output
Wallet settings (networks, default chain, UI preferences)Restore your configuration across browser restarts
Address book / saved recipientsConvenience when sending
Asset cache (definitions, balances, USD prices, portfolio snapshots)Show balances and portfolio value without re-fetching on every popup open
WalletConnect v2 session state and pending proposalsResume active dApp sessions across browser restarts

This data never leaves your device through anything controlled by us. chrome.storage.local is intentionally chosen over chrome.storage.sync to avoid syncing wallet state to Google’s servers.

Passkey and key material

Outbound network requests

The extension makes outbound requests only to the following endpoints, and only to perform wallet functions:

EndpointPurposeWhat is sent
coins.llama.fi (DefiLlama) Fetch USD prices for tokens in your portfolio Chain identifiers and token contract addresses. No wallet address, no personal info.
*.walletconnect.com, *.walletconnect.org (WSS + HTTPS) WalletConnect v2 relay — pairing with mobile dApps and exchanging signing requests WalletConnect pairing topics, session metadata, and signing payloads you explicitly approve. WalletConnect operates the relay; see walletconnect.com/privacy.
EVM RPC endpoints (user-configured per network, e.g. Infura, Alchemy, public RPC) Read balances, estimate gas, broadcast transactions Your EVM wallet address (for eth_getBalance, etc.) and the raw signed transactions you choose to broadcast. The specific endpoint depends on what you configure in Settings.
blockstream.info, mempool.space Read Bitcoin balances Your Bitcoin address (mainnet / testnet / signet, depending on the active network).
api.trongrid.io, api.shasta.trongrid.io, nile.trongrid.io Read TRON balances Your TRON address.
api-v2.puffer.fi (Optional, only when the pufETH widget is used) Fetch pufETH conversion rate and protocol TVL Public protocol info only — no user data.
api.0x.org (Optional, only when the Settings → Swap feature is used) Fetch swap quotes from 0x Token addresses, amounts, and your taker address — required by the 0x quote API to compute a swap.

These endpoints are operated by third parties and have their own privacy practices. We do not proxy any of this traffic through our own servers — we operate no servers. Requests go directly from your browser to the listed endpoints.

Data we do not collect

How data is used

The extension is a tool you use to manage your own assets and connect to dApps. Data flows are exactly what the chosen action requires: reading a balance fetches a balance; broadcasting a transaction broadcasts that transaction; nothing else.

Permissions explained

Data sharing and selling

We do not sell, rent, or transfer any user data to third parties. We do not transfer user data for purposes unrelated to the extension’s single purpose. We do not transfer user data to determine creditworthiness or for lending purposes.

Changes to this policy

If this policy materially changes, the new effective date will be set at the top of this document and the change will be visible in the extension’s GitHub repository commit history.