In StarkEx, Registration means mapping the user starkKey to his Ethereum Address. This mapping enforces that when funds are removed from an L2 account, only the Ethereum address registered to that account's starkKey will be able to withdraw the funds on-chain.

Step 1: Off-Chain Registration Request

Alice requests the application operator to register her starkKey under her Ethereum address. If the application chooses to register Alice (each application can have its own registration policy), it signs the mapping with the userAdmin key.

Any number of starkKeys can be mapped to the same Ethereum address.

Step 2: On-Chain Registration Transaction

A transaction is sent to the StarkEx contract, containing the Ethereum address, the starkKey and the signature obtained during the previous step. See register for more information on this function.

On-chain registration can be done by any Ethereum address. For example, the application may choose to do the on-chain registration, obscuring this step from the user. Note that this operation cannot be harmful to the users in any way.