# Trading accounts

Starknet features a powerful capability known as [Account Abstraction.](https://docs.starknet.io/documentation/architecture_and_concepts/Accounts/introduction/) 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](/layerakira-documentation/integration/technical-overview/ecosystem-book.md) 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](/layerakira-documentation/integration/technical-overview/ecosystem-book/direct-user-interactions.md) in our Smart Contract so that they can perform offchain withdraws and increase inonce. 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.

{% hint style="info" %}
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.
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://layer-akira.gitbook.io/layerakira-documentation/integration/technical-overview/trading-accounts.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
