Appearance
Web3
Who it's for. dApps, wallet apps, DEX frontends, on-chain protocols, NFT marketplaces — anywhere the end user holds tokens in self-custody and the connected wallet is the source of truth. The user signs; you orchestrate; BRRR settles.
The defining characteristic of this vertical: non-custodial through the entire signing flow. The private key never leaves the wallet, and your application never holds user funds in transit.
Typical scenarios
- "Cash out" button next to a token balance. A wallet app surfaces a Deposit (off-ramp — moving from crypto to fiat) action wherever a user holds a supported token. One signature, EUR on a Holyheld card.
- Fiat-payout for swap or trade settlement. A DEX, perp protocol, or yield product routes the realized output token to a Deposit instead of returning it to the wallet — the user receives EUR directly.
- Creator / contributor payouts. A marketplace or DAO tool pays creators by Deposit-to-holytag, so the recipient receives spendable EUR rather than a stablecoin position.
- Top-up from card. A user funds a wallet from their Holyheld card balance via a Withdraw — useful for gas, for protocol participation, or for "send crypto" UX inside a non-custodial app.
Recommended stack
| Need | Reach for |
|---|---|
| User signs from wagmi / viem / ethers / web3.js / Solana wallet adapter | SDK — handles signing flow, allowance, EIP-2612 permits |
| Cross-chain routing without per-chain RPC code | Orchestrate — bridges and swaps are computed by convertTokenToEUR/convertEURToToken |
| Display all of a wallet's supported tokens across networks | getWalletBalances |
| Resolve a recipient holytag before sending | getTagInfo |
| Read-only token metadata, prices, charts for richer UI | Web3 API |
Almost every Web3 integration is SDK-first. The Web3 API is a complement, not a substitute — it's read-only display data that lives outside the user's signing flow.
Architecture at a glance
┌────────────────────────┐
│ Your dApp / wallet │
│ (browser, RN, etc.) │
└────────────┬───────────┘
│
▼
┌───────────────┐
│ @holyheld │
│ /sdk │ ← runs in the user's browser
│ │
│ signs with │
│ user's wallet│
└──────┬────────┘
│
▼
┌───────────────┐
│ BRRR │ ← cross-chain routing,
│ Orchestrate │ conversion, settlement
└──────┬────────┘
│
▼
┌────────────────────────┐
│ Holyheld card (EUR) │
│ or recipient wallet │
└────────────────────────┘You ship the SDK in the same bundle as your wallet-connect logic. There is no server component required for a typical dApp integration — the SDK API key is intentionally client-safe.
Where to start
- Quickstart — pick the SDK
- SDK Installation and Initialization
- Web3 Providers — wagmi, ethers.js, web3.js, Solana wallet adapter
- Examples — live multi-network reference apps
Where to next
- Deposit, Withdraw, Orchestrate — the three Core concepts hubs
topup,requestOnRamp— the methods that execute each flow- Supported Networks — current EVM and Solana coverage
- A live multi-network reference: holyheld.com/sdk/send
