Your Spark wallet’s identity key controls a Spark address and an Execution-side EVM address. There is no separate signup, no separate funding, and no key-management surface beyond the seed you already use for Spark.Documentation Index
Fetch the complete documentation index at: https://flashnet-build.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Derivation
The identity key is a secp256k1 scalar. Spark derives it from the seed using its own BIP32 path, not Ethereum’sm/44'/60'/0'/0/0. Spark uses the resulting key directly for transfers and FROST signing.
To produce the EVM address, Execution applies the standard Ethereum address-from-pubkey transformation to that same identity key:
Get the EVM address
getEvmAccount() returns the underlying viem LocalAccount if you need to sign arbitrary EVM transactions outside the SDK helpers.
Funding
There is no faucet step. The Execution side carries no native gas balance separately from your sats. The sequencer pays the base fee for every intent and bills nothing back. To get assets onto the Execution side, deposit them: see Deposits.What gets shared
| Belongs to the identity key | Spark side | Execution side |
|---|---|---|
| Address | Bech32m (sp1...) | EVM (0x...) |
| Custody | Spark MPC + L1 fallback | SparkGateway + native sats balance |
| Auth | FROST / wallet signing | Challenge-response on the gateway |
| Settlement | send_sats / send_token | EIP-1559 transactions |
authenticate().