Get the addresses
getEvmAccount() returns the underlying viem LocalAccount if you need to sign arbitrary EVM transactions outside the SDK helpers.
Under the hood
The identity key is a single secp256k1 private key derived from your Spark seed. Spark uses its own BIP32 path for the derivation, not Ethereum’sm/44'/60'/0'/0/0. Spark uses that private key directly to sign transfers; Flashnet Execution uses it to sign EVM transactions and intents.
To produce the EVM address from the same private key, the SDK applies the standard Ethereum derivation: take the uncompressed public key, drop the leading 0x04 prefix, keccak256-hash the remaining 64 bytes, then take the last 20 bytes.
Funding
There is no faucet step. The Execution side carries no native gas balance separately from your sats. Flashnet runs the EVM withbaseFeePerGas = 0 and maxPriorityFeePerGas = 0, so there is no base fee to charge. To get assets onto the Execution side, deposit them: see Deposits.
What gets shared
Both sides authenticate the same identity public key. The gateway recognizes any intent signed by the key that produced your Spark address; there is no separate “Execution password” or “Execution session” beyond the short-lived bearer token
authenticate() returns.