
On 2024-07-18, SSP Wallet v1.6.0 added Ethereum — and SSP became the first wallet to ship true Schnorr-multisig accounts on Ethereum using ERC-4337 Account Abstraction. Other wallets call themselves "Ethereum multisig" by stacking a single externally-owned account behind a UI. SSP went the harder route, so the same 2-of-2 model that guards Bitcoin inside SSP now guards ETH too.
TL;DR
- Ethereum (ETH) joins SSP as a first-class chain.
- Accounts are smart contracts following ERC-4337, not EOAs — so 2-of-2 enforcement lives on-chain.
- Two Schnorr signatures aggregate into one before they hit Ethereum, keeping gas predictable.
- The signing library is open source on npm:
@runonflux/aa-schnorr-multisig-sdk. - ERC-20 token support is the next step; this release is ETH itself plus the AA foundations under it.
What landed: Ethereum support, the hard way
Most wallets "support Ethereum" by generating an externally-owned account (EOA) — a single private key, a single signature, a single point of failure. Adding multisig on top usually means a software policy on the wallet side, not an enforced rule on the chain. The chain still sees one key, and whoever holds that key can move funds alone.
SSP refused that shortcut. The whole point of SSP's 2-of-2 model is that neither SSP Wallet on the desktop nor SSP Key on the phone can move funds by itself — co-signing is a property of the account, not a UI convention. To preserve that on Ethereum, an EOA was never going to be enough. The Ethereum account had to be a smart contract that demands two signatures by construction. That's exactly what shipped in v1.6.0.
What Schnorr multisig means here
Bitcoin's UTXO scripts can express 2-of-2 natively — that's how SSP's existing chains enforce co-signing. Ethereum's account model can't, not without help. SSP closes that gap with Schnorr signatures.
Schnorr is a signature scheme with one property that matters here: two signers can each produce a partial signature, and those partials can be combined into a single, valid signature that verifies under a single aggregated public key. To anything reading the chain, it looks like one signer signed once. To SSP, two devices each had to agree. The cryptographic depth — key aggregation, nonce coordination, MuSig2-style rounds — is covered in our academy piece on Schnorr signatures and multisig aggregation if you want it. The user-facing summary is short: same SSP Wallet + SSP Key handshake you already use, now expressed as one aggregated Schnorr signature on Ethereum.
ERC-4337 Account Abstraction
Account Abstraction (AA) is the umbrella term for letting Ethereum accounts behave like programmable wallets instead of bare key pairs. Under the standard Ethereum model there are two account types: EOAs, controlled by a single private key, and contracts, which can't initiate transactions on their own. AA collapses that distinction at the application layer.
ERC-4337 is the Ethereum standard that delivers AA without changing Ethereum itself. Instead of a hard fork, it defines a higher-level transaction object called a UserOperation, a bundler that turns those into normal Ethereum transactions, and an EntryPoint contract that validates them. Your "account" is a smart contract that decides how it wants to authenticate spends — for SSP, that authentication rule is: an aggregated Schnorr signature from both SSP Wallet and SSP Key, or nothing. No L1 fork required, no special node operators, no trust assumptions outside what's already deployed on mainnet.
The open-source library
The Schnorr-multisig signing layer is not buried inside the SSP app. We extracted it as a reusable library and released it under the same open-source posture as the rest of SSP. The TypeScript SDK lives on npm as @runonflux/aa-schnorr-multisig-sdk; the Solidity Account Abstraction contracts it pairs with live in the @runonflux/account-abstraction repository on GitHub.
If you're a wallet builder, a security researcher, or just curious how Schnorr-multisig AA actually composes on Ethereum, both projects are there to read, fork, and contribute back to. Pull requests and issues are welcome — we'd rather harden one shared library with more eyes on it than have every wallet that wants this primitive reinvent it.
What this unlocks
For v1.6.0 specifically, the chain on offer is Ethereum itself — ETH balances, ETH transfers, the same Chains-panel toggle you use for every other coin, now with an AA account behind it. The plumbing this release lays down is the harder part. Once 2-of-2 Schnorr AA accounts exist and work, every Ethereum-shaped balance becomes reachable.
ERC-20 token support is the natural next step, and it's already on the roadmap — we'll cover it in its own newsroom post when it ships. For today, the headline is that Ethereum is in SSP, it's in SSP the right way, and the cryptographic and smart-contract foundations underneath it are open source on npm and GitHub for anyone to inspect.
Source: SSP Wallet v1.6.0 release notes.