Centralized wallet registry for the Beacon SDK. This repository maintains a curated list of Tezos and Substrate wallets with their metadata, logos, and platform support information.
The Beacon Wallet List enables dynamic wallet updates without requiring SDK releases. Wallet data is served via jsDelivr CDN with automatic fallback to bundled data in the SDK.
Edit the appropriate JSON file in src/:
For Tezos wallets: src/tezos.json
For Substrate wallets: src/substrate.json
For Tezos Sapling wallets: src/tezos-sapling.json
Example wallet entry:
{
"key": "my_wallet_ios",
"name": "My Wallet",
"shortName": "MyWallet",
"color": "#FF5733",
"logo": "tezos_my-wallet.png",
"universalLink": "https://mywallet.com",
"deepLink": "mywallet://",
"supportedInteractionStandards": ["wallet_connect", "beacon"]
}Wallet Types:
- Extension: Browser extension (Chrome/Firefox)
- Desktop: Desktop application
- iOS/Mobile: Mobile app
- Web: Web-based wallet
Required Fields:
key: Unique identifier (e.g.,temple_chrome,kukai_ios)name: Full wallet nameshortName: Display namelogo: Filename in logos/ folder (with blockchain prefix:tezos_,substrate_)
Optional Fields:
deprecated: Set totruefor wallets no longer maintainedcolor: Brand color (hex code)supportedInteractionStandards:["wallet_connect"],["beacon"], or both
Add the logo file to the logos/ directory with the naming convention:
Format: {blockchain}_{wallet-identifier}.{png|svg}
Examples:
tezos_temple.pngsubstrate_nova.pngtezos_exodus.svg
Requirements:
- PNG: 256x256px (will be auto-resized if larger)
- SVG: Any size
- Keep file size reasonable (<100KB recommended)
npm run buildThis generates dist/ files with embedded base64 logos. Verify the output looks correct.
Commit only src/ and logos/ changes:
git add src/ logos/
git commit -m "feat: add MyWallet support"
git push origin your-branch-nameNote: Do NOT commit dist/ files - CI will generate them automatically!
PR Description should include:
- Wallet name and type
- Supported platforms
- Links to wallet website/documentation
- Any special notes
Once your PR is merged:
- ✅ CI builds
dist/with base64 logos - ✅ CI commits
dist/to main branch - ✅ CI creates GitHub release
- ✅ CI purges jsDelivr CDN cache
- ✅ Beacon SDK users get updates automatically (no SDK update needed!)
To mark a wallet as no longer maintained:
- Edit
src/{blockchain}.json - Add
"deprecated": trueto the wallet entry - Submit PR
Deprecated wallets:
- Extensions: Hidden if not installed, shown only if user already has it
- Desktop/Mobile/Web: Shown with warning message, download buttons removed
npm run buildThis script:
- Reads JSON from
src/ - Reads images from
logos/ - Resizes PNGs to 256x256
- Converts all logos to base64
- Outputs to
dist/with embedded logos
On push to main:
- Build dist/ files
- Auto-commit dist/ to git (for jsDelivr)
- Create GitHub releases (versioned + latest)
- Purge jsDelivr CDN cache
jsDelivr CDN (for runtime):
https://cdn.jsdelivr.net/gh/airgap-it/[email protected]/dist/tezos.json
GitHub Releases (for SDK bundling):
https://github.com/airgap-it/beacon-wallet-list/releases/latest/download/tezos.json
A pre-commit hook prevents manual commits to dist/. If you accidentally stage dist/ files:
git reset dist/Only edit src/ and logos/ - CI handles the rest!
ISC License - see LICENSE file for details.