Oracle3
Oracle3: 예측시장 거래 엔진·MCP 서버
GeroWallet Cardano, Midnight, Apex Fusion용 비수탁 멀티체인 지갑
GeroWallet: non-custodial multi-chain wallet for Cardano, Midnight and Apex Fusion. Stake ADA, swap across DEXs, earn cashback, read our public code.
금융TypeScript · VueGitHub @Gero-Labs온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
Non-custodial Cardano wallet - Chrome extension (Manifest V3). Portfolio, staking, governance, DeFi, and SPO dashboard. Open source (Apache 2.0).
저장소 README에서 가져옴
README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
A multi-chain, non-custodial wallet browser extension (Chrome Manifest V3) for Cardano, Midnight, and Apex Fusion.
Gero Wallet (v2.7.0) is a feature-rich, non-custodial multi-chain wallet browser extension. It supports Cardano, Midnight, and Apex Fusion (Prime and Vector), and ships two interfaces: a full dashboard and Mini-Gero, a compact side-panel wallet.README 전문 보기 ↗A multi-chain, non-custodial wallet browser extension (Chrome Manifest V3) for Cardano, Bitcoin, Midnight, and Apex Fusion.
Features • Quick Start • Documentation • Contributing
Gero Wallet is a feature-rich, non-custodial multi-chain wallet browser extension. It supports Cardano, Bitcoin, Midnight, and Apex Fusion (Prime and Vector), and ships two interfaces: a full dashboard and Mini-Gero, a compact side-panel wallet.
Cardano data and DeFi routing primarily use Nexus, through the Gero backend. Bitcoin also uses Esplora directly, and the SPO client calls Koios. Midnight data uses Nexus/Gero Sync, while proof generation can use direct Foundation/Arkhia services. See architecture for these boundaries. Feature availability depends on chain and feature flags.
The development package is 2.8.0; that version is not evidence of a published
release. The Vue 3 migration is merged. See maintenance for
current checks and remaining release work.
Gero ships two surfaces over the same wallet core:
Mini-Gero is a focused subset of the dashboard. Anything not in the side panel is available in the full interface.
💼 Wallet Management
⛓️ Multi-Chain Support
⛓️ Cardano Native Features
🔄 DeFi and Trading
🎁 Rewards
🔐 Security First
🌐 Web3 Connectivity
window.cardano)@cardano-sdk/core (see the lockfile) (modern, preferred for new features)For complete technical details, see ARCHITECTURE.md.
Before you begin, ensure you have the following installed:
# Clone the repository
git clone https://github.com/Gero-Labs/gerowallet.git
cd gerowallet
git switch development
# Match the CI package manager
npm install --global [email protected]
# Install dependencies
npm ci
# Create .env.development in your editor using the settings below.
For local development, create .env.development with these backend settings.
They allow the base application to boot; live integrations and feature flags
may need additional public configuration. Never put backend secrets in
VITE_* variables, which are exposed to the client:
# Gero backend base URL (localhost for development)
VITE_BACKEND_URL=http://localhost:8081
# Nexus is reached through the backend proxy (server injects the Nexus key).
# Point this at <gero-backend>/api/nexus, NOT at Nexus directly.
VITE_NEXUS_URL=http://localhost:8081/api/nexus
# Gero Sync WebSocket (real-time blockchain updates, served by the backend)
VITE_SYNC_WS_URL=ws://localhost:8081/sync
An unavailable backend leaves data-driven views empty or failing even when
the UI loads. Configure the services needed for your scenario. To list the
VITE_* names referenced by source and build scripts:
rg -o --no-filename 'VITE_[A-Z0-9_]+' src scripts
CIP-113 programmable-token display is behind two build-time gates, both of which must
pass. Both live in
src/utils/cip113Deployments.ts: the
CIP113_ALLOWED_NETWORKS allowlist, and the per-network programmable_logic_base script
hashes, which are reviewed protocol constants (an empty list disables the feature for that
network). Mainnet, preprod and preview are all allowlisted and configured, so CIP-113 is
live on all three.
Use the team's maintained backend deployment or its current setup instructions
to run a local instance. Its server-side configuration is maintained separately
from this extension. Check http://localhost:8081/health for the local example
above. Do not assume an old Docker tag is compatible with current services.
Offline tests and the synthetic isolated build in MAINTENANCE.md do not need backend credentials. They do not establish live data behavior.
# Start development server (hot reload)
npm run dev
This starts development servers for all contexts:
chrome://extensions/extension/ folder from the project directoryThat's it! You now have Gero Wallet running locally. 🎉
# Development with hot reload
npm run dev # All contexts (recommended)
npm run dev:web # Web UI only (faster for UI work)
npm run dev:background # Background script only
npm run dev:content # Content scripts only
npm run dev:inject # Inject scripts only
Use the release procedure for candidate packaging: sequential builds, secret-reader/remote-code/TDZ checks, expected channel identity, and retained artifact hashes. For an offline source check, use the isolated-build instructions in MAINTENANCE.md.
# Production build
npm run build # Optimized production build
npm run build:beta # Beta build with beta environment
# Package extension
# Legacy developer packaging utilities (not release qualification)
npm run pack:zip # Local development ZIP
npm run pack:zip:beta # Local beta ZIP
# Utilities
npm run clear # Clean build artifacts
npm run typecheck # TypeScript type checking
npm run lint # ESLint checks
# Do not run a repository-wide automatic lint fix.
Run automated checks before manual testing:
npm test -- --maxWorkers=2
npm run design:check
npx eslint <changed-code-files>
npm run typecheck
Global lint and Vue-aware type checking have tracked historical diagnostics. Compare the maintenance baseline; fix new diagnostics and all lint in touched code files. CONTRIBUTING.md explains required CI checks and targeted tests. A passing unit suite is separate from physical-device, live-provider, and profile-upgrade acceptance.
Use the Preprod testnet for safe testing:
Never test with real funds on mainnet during development!
gerowallet/
├── src/
│ ├── chrome/ # Extension-specific code
│ │ ├── background.ts # Service worker (main background script)
│ │ ├── messaging.ts # Chrome messaging system
│ │ └── walletBg.ts # Wallet operations in background
│ ├── modules/ # Feature modules (Vue components)
│ │ ├── dashboard/ # Portfolio, assets, quick actions
│ │ ├── staking/ # Cardano staking and delegation
│ │ ├── governance/ # Governance and DRep voting
│ │ ├── swap/ # DeFi token swaps
│ │ ├── transactions/ # Transaction history
│ │ └── ... # Other feature modules
│ ├── stores/ # Vue reactive state management
│ │ ├── geroStore.ts # Global app state
│ │ ├── walletStore.ts # Active wallet state
│ │ └── ... # Feature-specific stores
│ ├── services/ # Business logic services
│ │ ├── walletManager.service.ts # Wallet lifecycle
│ │ ├── sync.service.ts # Blockchain sync
│ │ └── websocket.service.ts # Gero Sync real-time updates
│ ├── db/ # Database layer (Dexie/IndexedDB)
│ │ ├── gero-db.ts # Application-level DB
│ │ └── wallet-db.ts # Wallet-specific DBs
│ ├── api/ # Backend/data integrations
│ │ ├── nexus-tx-api.ts # Nexus transaction building
│ │ ├── market-api.ts # Prices & market data (via backend)
│ │ └── ... # Other backend-routed clients
│ ├── shared/ # Reusable utilities and components
│ │ ├── utils/ # Helper functions
│ │ ├── composables/ # Vue composables
│ │ └── components/ # Shared Vue components
│ └── options/ # Extension UI entry points
├── ARCHITECTURE.md # System architecture overview
├── CONTRIBUTING.md # Contribution guidelines
└── README.md # This file
For detailed architecture overview, see ARCHITECTURE.md.
Gero Wallet uses a multi-context architecture for security and performance:
┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Approval │ │ Options │ │ Side Panel │
│ (Web UI) │ │ (Web UI) │ │ (Web UI) │
└──────┬──────┘ └──────┬──────┘ └──────┬──────┘
│ │ │
└────────────────┼────────────────┘
│
┌─────────▼─────────┐
│ Chrome Messaging │
└─────────┬─────────┘
│
┌──────────────▼──────────────┐
│ Background Service Worker │
│ - Wallet Operations │
│ - Transaction Signing │
│ - State Broadcasting │
└──────────┬──────────────────┘
│
┌──────────┼──────────┐
│ │
┌────▼────┐ ┌─────▼──────┐
│IndexedDB│ │Chrome │
│(Dexie) │ │Storage │
└─────────┘ └────────────┘
Why this architecture?
Two-Tier Database System
Real-Time Communication
Modern Cardano SDK
@cardano-sdk/core alongside backend transaction constructionHardware Wallet Integration
For complete architectural details, see ARCHITECTURE.md.
We welcome contributions from the community! Gero Wallet is a financial application handling real cryptocurrency, so we prioritize security and quality.
git clone https://github.com/YOUR_USERNAME/gerowallet.gitgit checkout -b feature/your-feature-namegit commit -m "feat: add your feature description"git push origin feature/your-feature-nameCheck our GitHub Issues for issues labeled good first issue - these are great starting points for new contributors.
Gero Wallet takes security seriously. This is a non-custodial wallet handling real cryptocurrency.
Key protection
gpw1, or purpose-bound gpw2 format according to the field and feature flag.
Legacy readers remain for compatibility; PRF wallets use a separate path.Access control
Transaction and dApp safety
If you discover a security vulnerability, please DO NOT open a public issue. Instead:
See SECURITY.md for the full policy, scope, and safe-harbor terms.
Licensed under the Apache License, Version 2.0 (Copyright A.D. Labs) - see the LICENSE and NOTICE files for the full terms.
For licensing questions, reach out via gerowallet.io.
Gero Wallet is built on the shoulders of giants. Special thanks to:
See open issues for planned work and migration status for the remaining qualification and rollout scope.
Built with ❤️ by the Gero Labs team
Website • Documentation • GitHub
Last Updated: 2026-10-18