Skip to content
 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1,690 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Frame

Frame

A system-wide EVM wallet and signing firewall for browsers, native applications, and command-line tools.

Desktop releases · Browser companion · Security · Standards · RPC compatibility

Warning

This is a community-maintained wallet preview with no independent security audit. The current release target is Linux x64. Back up your Frame profile, verify release checksums, and test with accounts that do not hold valuable assets before relying on a release. Use at your own risk.

Frame runs as a desktop wallet and exposes one consistent approval and signing interface to the rest of the system. Dapps can connect through the paired browser companion or directly through Frame's local EIP-1193/JSON-RPC provider. Accounts and chains are routed independently, so applications do not have to share one global network selection.

Current Release

Frame 0.8.0 is the current Linux x64 AppImage and deb release candidate. Browser dapps require the separately packaged Frame Companion 0.13.1 candidate. The last published versions remain available from the desktop releases and companion releases until the paired 0.8.0 and 0.13.1 artifacts are published.

Component or platform Current status
Linux x64 AppImage and deb Current qualified release target
Trezor Safe 7 over USB Physically tested for address verification, signing, broadcast, and reconnect
Trezor Model One over USB Physically tested with documented typed-data and testnet limitations
Ledger and GridPlus Lattice1 Implemented with automated coverage; not physically requalified for 0.8.0
Seed phrase, private key, and keystore Encrypted local signer workers; disposable seed and private-key flows tested
Watch-only addresses Supported for monitoring; signing is blocked
Chrome and Firefox companion Packaged and tested against the 0.8.0 desktop protocol
macOS, Windows, and Linux arm64 Not produced or qualified by this fork
Trezor Safe 7 Bluetooth Unsupported

See Signer and Platform Support for the evidence behind each claim and all known limitations. Trezor Suite is not required for the qualified Safe 7 USB flow.

Features

  • System-wide provider: HTTP and WebSocket JSON-RPC endpoints let browsers, native programs, and command-line tools use the same wallet.
  • Hardware-first signing: Trezor, Ledger, and GridPlus signer adapters keep signing behind explicit device and capability checks.
  • Software and watch accounts: Seed, private-key, keystore, and watch-only accounts coexist behind clear signing boundaries.
  • Local contacts: Save, search, back up, and restore trusted EVM destinations. Saved contacts and existing Frame account names appear beside the full address during transfer and approval review without changing the signed payload; saved contacts take precedence.
  • Origin permissions: Account access and wallet-owned RPC methods are permission-gated for each requesting origin and selected account. Passive discovery calls fail closed without opening an approval prompt.
  • Transaction review: Calldata decoding, approval-risk detection, configured-RPC simulation, native balance effects, logs, and bounded traces provide evidence before approval. Simulation is evidence, not a guarantee.
  • Clearer signatures: Structured EIP-712 review, permit and Permit2 detection, SIWE interpretation, hardware capability warnings, and explicit consent for dangerous eth_sign requests.
  • Multichain routing: Each application can target an enabled chain without forcing every connected application onto one global network.
  • Curated Yearn Earn: Locally allowlisted Ethereum, Base, and Katana Yearn products with positions, direct and product-specific workflows, exact approvals, configured-RPC simulation, ordinary Frame signer review, and hidden balance tracking for curated assets and vault shares. Packaged Base deposit, partial withdrawal, Max redeem, and physical Trezor signing have been exercised; other product paths retain the narrower evidence and limitations documented in Yearn Earn.
  • Modern wallet methods: Hardened EIP-1193 behavior, chain add/switch flows, paired-companion EIP-6963 discovery, and non-atomic EIP-5792 wallet calls.
  • User-controlled infrastructure: Custom Ethereum RPC and Kubo IPFS endpoints remain supported.
  • Release evidence: Locked dependencies, automated tests, CodeQL, package verification, SHA-256 manifests, CycloneDX SBOMs, and GitHub build provenance accompany the release process.

Exact support boundaries are maintained in Supported Ethereum Standards and RPC Compatibility.

Install

After the candidate is published, download Frame-0.8.0.AppImage or frame_0.8.0_amd64.deb together with SHA256SUMS from the 0.8.0 release. Verify the files from the download directory before running either package:

sha256sum --check --ignore-missing SHA256SUMS

Run the AppImage without installing it:

chmod +x Frame-0.8.0.AppImage
./Frame-0.8.0.AppImage

Or install the deb package:

sudo apt install ./frame_0.8.0_amd64.deb

The Linux packages are currently unsigned. Verify their checksums and GitHub artifact attestations against the published release before installation.

Browser Companion

The browser companion injects Frame's EIP-1193 provider and announces it using EIP-6963. Once the candidate is published, download the Chrome or Firefox archive from the 0.13.1 companion release, verify its checksum, extract it, and follow the companion installation instructions.

The first connection displays a six-digit code in Frame and the extension. Compare both codes before approving the pairing. Older store extensions do not implement the authenticated protocol used by this desktop release.

Run From Source

The repository pins Node and npm versions. On Ubuntu or Debian, install the native build prerequisites first:

sudo apt-get update
sudo apt-get install build-essential libudev-dev

Then install the pinned toolchain and dependencies:

git clone https://github.com/jorphex/frame.git
cd frame
nvm install
nvm use
npm install --global npm@11.12.0
npm run setup:ci
npm run prod

npm run setup:ci uses the committed lockfile, permits only reviewed dependency install scripts, installs Electron, and rebuilds the native HID module.

To produce the qualified Linux package formats locally:

npm run compile
npm run bundle
npm run package:linux:x64

Release candidates require the complete checks documented in Release Procedure; a successful local package command alone is not release qualification.

Local Provider

Frame listens only on the loopback interface:

http://127.0.0.1:1248
ws://127.0.0.1:1248

Applications can send standard JSON-RPC requests to these endpoints and route an enabled EVM chain using Frame's documented request metadata. Wallet-owned methods, subscriptions, origin handling, limits, and known local-process trust boundaries are documented in RPC Compatibility.

IPFS Configuration

Frame reads decentralized dapp and token content through a Kubo RPC endpoint. Set FRAME_IPFS_API_URL to use a different endpoint and set NEBULA_AUTH_TOKEN when it requires HTTP Basic authentication. The existing hosted endpoint remains the default.

Kubo RPC is an administrative interface. Keep a local endpoint bound to localhost, or place a remote endpoint behind TLS, authentication, and a restricted proxy. Do not expose it directly to the public internet. Archived dapp downloads are bounded and activated only after their complete UnixFS directory CID matches the ENS manifest.

Security

Do not report wallet secrets or vulnerability details in a public issue. Follow the private-reporting process in Security Policy. The Threat Model documents local RPC, renderer, persistence, signer, network, and release boundaries.

Published packages do not inherit support guarantees from the original Frame maintainers. Only the newest release in this repository is considered for community security fixes.

Direction

The current release candidate contains the first curated Yearn Earn milestone and local contacts; its exact scope and evidence boundaries are documented in Yearn Earn. Near-term desktop work focuses on broader UI and simulation qualification. Smart-account support and a future mobile client with WalletConnect built around shared wallet-core logic remain later work. Roadmap items are directional and are not release support claims.

Documentation

Origin And License

This repository is a community-maintained continuation of the GPL-licensed Frame wallet originally developed by Frame Labs. It is not an official Frame Labs release and is not supported by the original maintainers.

Frame is distributed under the GNU General Public License v3.0. Modified versions and binaries must continue to satisfy the GPL's source, license, notice, and corresponding-source requirements.

About

System-wide Web3 for macOS, Windows and Linux

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages