A self-custodial smart wallet for EVM networks
翻譯準備中
正在載入完整 README。 以下為已儲存的摘錄。
An Ethereum wallet you actually own. Every piece of it — the apps and the
services behind them — is MIT-licensed, builds from public repositories,
and runs on your own machines.檢視完整 README ↗An Ethereum wallet you actually own. Every piece of it — the apps and the services behind them — is MIT-licensed, builds from public repositories, and runs on your own machines.
0x100 (EIP-7951; RIP-7212 on rollups). No seed phrase, no Vela contract in the funds path, no admin
role for us.vela-core makes every decision on all four.Website · Docs · Self-hosting guide · Whitepaper · Architecture · Releases
rust/crates/vela-core. The apps render
what the core returns and run the effects it asks for, so the rules are tested
without a browser, a device or a network.vela-core talks to a phone over hybrid (QR) transport
and to USB security keys directly, so an app you compile yourself can still
sign for a wallet created at getvela.app.addOwnerWithThreshold, enableModule, setGuard and the rest
of that family — is refused, inside a batch or a MultiSend as well, as is
any leg carrying a delegatecall and a SafeTx typed-data signature. The
rule is in the core (self_call_guard.rs), so every client has it.┌────────────────┬────────────────┬────────────────┬────────────────┐
│ iOS │ Android │ Web │ Desktop │
│ SwiftUI │ Compose │ SvelteKit │ gpui (Rust) │
│ app-ios/ │ app-android/ │ app-web/ │ app-desktop/ │
└───────┬────────┴───────┬────────┴───────┬────────┴───────┬────────┘
│ UniFFI/Swift │ UniFFI/Kotlin │ wasm-bindgen │ crate dep
└────────────────┴───────┬────────┴────────────────┘
▼
┌──────────────────────────────────────────────┐
│ vela-core (rust/crates/vela-core) │
│ Crux state machines — business rules │
│ primitives · abi · eip712 · safe · │
│ webauthn · ctap · i18n (15 locales) │
│ pure, deterministic — no I/O, no network │
└──────────────────────────────────────────────┘
Why it's built this way (and why the React Native app it started as was retired), how shared assets are generated and gated, and how each app is built and shipped: docs/ARCHITECTURE.md.
| Path | What | Start with |
|---|---|---|
rust/ | vela-core: state machines, crypto, ABI, WebAuthn/CTAP, i18n; UniFFI and wasm bindings | cargo test --workspace --features vela-core/i18n-all in rust/ |
app-desktop/vela-wallet | Desktop app on gpui (macOS, Windows, Linux) | cargo run |
app-web/vela-wallet | Web wallet and the Chrome extension | pnpm install && pnpm dev |
app-ios/VelaWallet | iOS app, SwiftUI | ./rust/scripts/build-ios-xcframework.sh, then Xcode — and ./rust/scripts/check-ios-core-fresh.sh before any device test, because xcodebuild never rebuilds the Rust |
app-android/vela-wallet | Android app, Jetpack Compose | generate the bindings (ci.yml android), then ./gradlew :app:installDebug |
app-web/getvela.app | The website and the user docs | bun install && bun run dev |
app-web/trusted-signer | Trusted Signer — the independent signing page published at sign.getvela.app, one reproducible file per version | bun samples/build-single.mjs (or node) to build; python3 -m http.server to try |
以上為 README 的開頭部分。其餘內容請閱讀原文。 檢視完整 README ↗
scripts/| Generators and CI gates the apps share |
| Tooling |
specs/ | Every feature's spec, plan and delivery report, numbered in order | the latest one |