Multi-signature and smart wallets

Smart-contract wallets and multisigs (e.g. Safe) can't produce ECDSA personal_sign signatures, so any step that needs your Ethereum private key works differently. Most features are still available:

ActionEOA walletSmart wallet / multisig
Deposit✅✅ (contract call)
Register API keypersonal_signOn-chain changePubKey (priority transaction)
Trade with API key✅✅
Secure withdrawal✅✅ – the only way to withdraw funds off Lighter
Transfer to another owner✅❌
Fast withdrawal✅❌

Registering an API key

In the front-end, you can still sign in by registering your API key with a priority transaction (i.e. using Ethereum's priority transactions). To do this, make sure to tick the box shown in the authentication modal. Under the hood, you're calling changePubKey() via Lighter's mainnet contract.

Through the API:

  1. Generate a keypair (GenerateAPIKey in the WASM signer, or the SDKs).
  2. From the multisig, call changePubKey on the Lighter contract with the account index, API key index and public key. You can also use the Ethereum gateway.
  3. Once the priority transaction is processed, the key works like any other.

While you can change public key via priority transactions, you cannot perform a transfer that way. See Priority Transactions for everything you can do directly through the contract.


Did this page help you?