Skip to main content

MEE Versions

The Modular Execution Environment (MEE) supports multiple versions of its contract suite. Each version introduces new capabilities around smart accounts, validator configuration, and composability.
This guide helps SDK developers understand and select the appropriate version for their use case.

Which version to use

Use 2.2.3 for every newly created account. It is the only version built on Nexus 1.3.3.Higher version numbers do not mean newer contracts. 2.3.0 sorts above 2.2.3 but is a release candidate built on Nexus 1.3.1. Pick the version by name, not by ordering.
From AbstractJS v2.0.0, getMEEVersion() accepts only versions approved for new accounts, so selecting an earlier one is a compile-time error. Earlier versions remain reachable through getLegacyMEEVersion() so you can still derive, deploy and upgrade accounts you already have. See Accounts created on earlier versions.

Versions Table

The table below outlines all MEE versions and their core capabilities.

Accounts created on earlier versions

An account that has been deployed on chain is unaffected by this change and needs no action. It keeps working exactly as before, on whichever version created it. Two cases need attention:
Deploy those accounts. Any operation deploys an account, including one with empty calldata, and you do not need to move the funds. Deploying is permanent for that account.Deploy at the address you already have, using the version that derived it. This does not require upgrading the SDK or switching versions. If you keep precomputed addresses for your users, you can deploy them in bulk by calling the account factory for each address. That needs no user signature and does not change ownership.
Use the upgrade flow. Upgrading keeps the same account address and the same balances. It is optional, not a prerequisite for anything above.
Selecting 2.2.3 for an account that was created on an earlier version derives a different address, because the account address is computed from the factory of the version that created it. To keep an existing account, pass its accountAddress explicitly, as described in Account Migration.

Version Breakdown

Use this for new accounts

Nexus 1.3.3, with the audited ERC-8211 Smart Batching implementation

Key Features:
  • Account initialization is single-use per transaction
  • Bundles the audited ERC-8211 Smart Batching reference implementation (Ethereum Foundation & Biconomy)
  • Same composability feature set as v2.2.2
  • Reviewed by Pashov Audit Group (July 2026)
The version to select for every newly created account. Accounts already created on an earlier version keep working, and can be brought onto this suite with the upgrade flow.

Recommendation

Use 2.2.3 for new accounts. It is the SDK and STX API default, and the only version built on Nexus 1.3.3. Earlier versions remain available so that accounts already created on them stay derivable and upgradeable. They are not a starting point for new integrations.

How to Find Your Current Nexus Version

Not sure which Nexus version your smart account is using? Follow these simple steps to find out:
1

Locate your smart account address

Locate your existing Nexus smart account address on the specific blockchain you’re working with.
2

Open the block explorer

Open the block explorer for that chain (e.g., Etherscan, Polygonscan) and paste the smart account address into the search bar.
3

Navigate to the Contracts tab

Navigate to the Contracts tab on the explorer page.
4

Verify the proxy contract if needed

If the contract is a proxy and the proxy contract isn’t verified yet, you’ll need to verify it first. (If “Read as proxy” option isn’t available, this usually means verification is needed.)
5

Call the getImplementation function

Once verified, go to the Read as proxy section and call the getImplementation function. This will return the address of the actual implementation contract your smart account is using.
6

Compare with official addresses

Compare this implementation contract address against the addresses listed on our Contracts and Audits page. This will help you identify exactly which MEE version you are using.
If you need further assistance, feel free to join our Discord community and ask for help!
Keeping track of your Nexus version is key for smooth upgrades and compatibility checks.

Not Sure Which Version to Choose?

If you’re still confused about which MEE version fits your needs, or if you’re unsure about your current version for migration, don’t worry! Join our Discord community to ask questions and get real-time support from the team and other developers. We’re here to help you choose the best path forward!