User Registration Internals

Prior to trading on Immutable X, all users need to be registered.

Our client (SDK) performs a deterministic computation following EIP-2645. Our implementation uses your linked Ethereum key to sign a static security string embedded in the SDK. This signature is used as a cryptographic seed with generic path parameters defined by the proposal's derivation path for hierarchical keys m / purpose' / layer' / application' / eth_address_1' / eth_address_2' / index. This binds the generation of your unique L2 Immutable X key against your L1 (Ethereum) key i.e. your L2 security will always be at least as secure as your L1 key. You must take note that signing the security string will expose the seed phrase for your Immutable X key so you must ensure that you do not sign the string on any other platform.

The generated private key is then passed through an efficient grinding method to enforce distribution within stark's elliptic curve domain.

The generated key pair is what you'll be using on a day-to-day basis to interact with any Immutable X functionality.

Once your Immutable X key is generated, you can use the SDK to make a single REST POST call to our Registers a user /v1/users endpoint to register your user with the following body as an example:

ether_key: 0x...
stark_key: 0x... // your Immutable X key
nonce:
stark_signature: 0x... // your Immutable X signature

And that's it! We'll handle everything else for you.

The below is a high-level overview of the user registration process.


Did this page help you?