Skip to Content
Getting StartedCore Concepts

Core Concepts

The key building blocks behind EmbarkAI: smart wallets, Account Abstraction, MPC security, and gasless transactions.

Smart Wallets

A smart wallet is a smart contract on the blockchain that acts as the user’s account. Unlike a traditional externally-owned account (EOA) controlled by a single private key, a smart wallet is a programmable contract that can enforce custom rules for transaction validation, recovery, and access control.

How smart wallets differ from EOAs:

EOASmart Wallet
Controlled bySingle private keySmart contract logic
Gas paymentMust hold native tokensCan be sponsored (gasless)
Transaction batchingOne call per transactionMultiple calls atomically
RecoveryLose key = lose fundsSocial recovery, key rotation
UpgradabilityNoneContract can be upgraded

In EmbarkAI, every user gets a smart wallet that is deployed on-chain on first use. The smart wallet is owned by an EOA whose private key is split across multiple parties using MPC — so no single party ever holds the full key.

Account Abstraction (ERC-4337)

Account Abstraction  is an Ethereum standard that lets smart contracts serve as first-class accounts. EmbarkAI implements the ERC-4337 flow end-to-end:

  1. UserOperation — Instead of a regular Ethereum transaction, the SDK builds a UserOperation struct containing the sender, calldata, gas limits, and a signature.
  2. Bundler — The signed UserOperation is sent to a bundler (an off-chain node), which batches multiple UserOperations together and submits them to the blockchain.
  3. EntryPoint — The bundler calls the on-chain EntryPoint contract, which validates each UserOperation, calls the smart wallet to verify the signature, and executes the transaction.
  4. Factory — If the smart wallet does not yet exist on-chain, the EntryPoint uses a factory contract to deploy it in the same transaction.

This architecture means users never need to hold native tokens for gas, the wallet can be created lazily, and transactions can be batched or sponsored by a third party.

For a deeper dive, see Account Abstraction.

MPC / TSS Key Management

EmbarkAI uses Multi-Party Computation (MPC) with the DKLS23 Threshold Signature Scheme (TSS) to manage private keys. Instead of storing a private key in one place, the key is generated collaboratively and split into keyshares:

  • Distributed Key Generation (DKG) — Two parties (your client/server and EmbarkAI’s TSS service) run an interactive protocol to jointly generate an ECDSA key pair. Each party receives a keyshare; the full private key is never assembled.
  • Threshold Signing — To sign a transaction, both parties participate in a signing protocol. Each uses its keyshare to produce a partial signature, which is combined into a valid ECDSA signature — again, without ever reconstructing the full key.
  • No single point of failure — If either party is compromised alone, the attacker cannot sign transactions. Both keyshares are required.

In the frontend SDK (@embarkai/ui-kit), the user’s keyshare is generated inside an isolated iframe and stored locally in the browser. In the backend SDK (@embarkai/core), the keyshare is managed by your server and should be stored in encrypted, redundant storage.

For more details, see MPC Security.

Paymaster (Gasless Transactions)

A paymaster is a smart contract that sponsors gas fees on behalf of users. With EmbarkAI’s built-in paymaster support:

  • Users can send transactions without holding any native tokens (ETH, BNB, LUMIA, etc.).
  • The paymaster pays the gas cost and the EntryPoint reimburses it from the paymaster’s deposit.
  • This enables a Web2-like onboarding experience where users do not need to acquire cryptocurrency before using your app.

Each supported chain has a default paymaster preconfigured. You can also set a custom paymasterAddress when creating a ServerWalletManager.

For configuration details, see Paymaster.

Supported Chains

EmbarkAI supports multiple EVM-compatible networks. All chain parameters (RPC URLs, bundler endpoints, factory/entrypoint addresses, paymaster) are preconfigured and resolved automatically by chain ID.

ChainChain IDType
Lumia Prism994873017Mainnet
Lumia Beam2030232745Testnet (default)
Ethereum Sepolia11155111Testnet
BSC Testnet97Testnet
Arbitrum Sepolia421614Testnet
Base Sepolia84532Testnet

For the full list and configuration details, see Supported Chains.

Last updated on