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 |