Trading accounts

Starknet features a powerful capability known as Account Abstraction. Currently, Starknet supports signature abstraction, allowing users to define what constitutes a valid signature and specify which contracts their accounts are permitted to interact with.

While a user's signature provided with a message to our endpoint may be valid at the time of processing, it may become invalid during on-chain settlement if the user decides to perform malicious actions, such as changing the public key in the account responsible for signature validation. Although this may not be critical for off-chain operations (access to certain endpoints), it is crucial for our Ecosystem Book semantics, offchain withdrawals, and increase nonce. Neglecting this consideration could compromise the strong execution semantics.

To address this issue, we require users to perform an on-chain binding in our Smart Contract so that they . This binding establishes a mapping between the trading account and a signer's public key that will be used to determine the validity of a ecdsa signature. On the user's side, the associated private key is used to sign the message sent to our Exchange. This approach ensures that the validation of signatures during on-chain settlement will not fail.

Currently, we do not support rebinding, but we plan to provide this feature in the future.

Note: as takers that come from Routers use external funds to perform trading actions and interact with the Router book, the process does not involve signer binding. Instead, signature validation is performed through account abstraction.

Last updated