# Auto-signing

Zeebit's v2 protocol introduced the concept of "auto-signing", which enabled frictionless user-experience. Previously, browser wallet users would have to sign/approve every single bet in their wallet — which was a very poor experience, as compared to using a web2 platform.

Auto-signing is a form of[ "account abstraction"](https://www.coinbase.com/en-gb/learn/crypto-glossary/what-is-account-abstraction-and-why-is-it-important). Account abstraction is powerful, because it enables protocols to continue to be non-custodial (i.e. you control your funds and don't need to transfer them to a third party) while enabling certain narrowly defined ("safe") actions to be approved by a "delegate wallet".&#x20;

{% hint style="info" %}
Auto-signing is required when using Zeebit on Solana x MagicBlock. It is optional on Sonic, but is strongly recommended for the best user experience.
{% endhint %}

### How auto-signing works

When you start a session on Zeebit, an account is created which stores your play balance for a given token. Simultaneously, a temporary wallet is created in your browser's local storage — the auto-signing or "delegate" wallet.

Your main wallet signs a transaction at the start of the session to (a) specify that this delegate wallet is permitted to take limited actions on your behalf, and (b) to transfer a small amount of SOL to cover the cost of these transactions (which can be recovered later, if unused).

This approach is safe because:

* This new wallet does not leave your browser and remains in your control
* Only directly holds a tiny amount of SOL (just enough to sign transactions)
* Only has permission to carry out two things: (a) place bets using the existing play balance; and (b) withdraw the play balance only to the owner's main wallet (withdrawal to any other address is not possible)
* This permission can be revoked by your main wallet at any time.

### Auto-signing on Sonic

In order for auto-signing to work, the "delegate wallet" requires a small amount of SOL to cover the cost of the transactions (approx 0.00005 SOL or $0.0001 per bet).&#x20;

In order to facilitate this, when you start your session, the app will create this temporary wallet in your browser's storage and ask that you fund it with a small amount of SOL for this purpose. If the balance runs low, you can top it up later.&#x20;

If you have any remaining balance at the end of your session, this can be returned to you main wallet.

You can manage your auto-signing balance from the Wallet modal — including topping up the gas balance, withdrawing the gas balance and turning off auto-signing.

<figure><img src="https://2821097313-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FV9eYnfLupGNvjJoiXuma%2Fuploads%2FKXNRWgosvhTQsii5qmyE%2Fimage.png?alt=media&#x26;token=65867ea2-3eb8-4f6e-a130-d51527a85ad1" alt="" width="375"><figcaption></figcaption></figure>

### Opting out of auto-signing on Sonic

If you would prefer not to use auto-signing, you can turn it off in the Wallet dropdown.

<figure><img src="https://2821097313-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FV9eYnfLupGNvjJoiXuma%2Fuploads%2FxtszK1qxTBGxwF1nBvxF%2Fimage.png?alt=media&#x26;token=f958d075-d350-4793-814a-bb30fef56949" alt="" width="323"><figcaption></figcaption></figure>


---

# 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://zeebit.gitbook.io/zeebit.io/basics/auto-signing.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.
