# SDK Events

The currently available events are:

#### OnOpenStateChange

Signals to the game that the overlay was either opened or closed. This is useful if you want to pause the game while the overlay is open.&#x20;

#### OnCheckoutResult

{% hint style="danger" %}
Please note there can only be one checkout event happening at the time: Calling a new event will cancel the previous one. So the game should keep track of the latest SKU (product) involved in the checkout.
{% endhint %}

Notifies the game when a checkout has either been completed successfully or failed. This would normally be sent by the overlay after the game has initiated a [Checkout()](#checkout) request.

#### OnGetWalletResult

Notifies the game of a result to the [`GetWallet`](/sdk/unity/overlay/overlay-actions.md#getwallet) action. This event delegate has the following signature:

```csharp
public delegate void OnGetWalletResultDelegate(
    string status, string ethAddress, string solAddress, string eosAddress
);
```

The following status values can be returned:

<table><thead><tr><th width="313">Status</th><th>Description</th></tr></thead><tbody><tr><td>SUCCESS</td><td>Successful execution</td></tr><tr><td>USER_REQUEST_DENIED</td><td>SDK has been initialized with an invalid user email.</td></tr><tr><td>SOMETHING_WENT_WRONG</td><td>An system error occurred. Please get in touch with us if you continue seeing this error.</td></tr></tbody></table>

#### OnSignTypedDataResult

Notifies the game of a result to the [`SignTypedData`](/sdk/unity/overlay/overlay-actions.md#signtypeddata) action. This event's delegate has the following signature:

```csharp
public delegate void OnSignTypedDataResultDelegate(
    string status, string signature, string r, string s, string v
);
```

The following status values can be returned:

<table><thead><tr><th width="313">Status</th><th>Description</th></tr></thead><tbody><tr><td>SUCCESS</td><td>Successful execution</td></tr><tr><td>USER_REQUEST_DENIED</td><td>SDK has been initialized with an invalid user email.</td></tr><tr><td>SOMETHING_WENT_WRONG</td><td>An system error occurred. Please get in touch with us if you continue seeing this error.</td></tr></tbody></table>


---

# 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://docs.elixir.app/sdk/unity/overlay/event-simulator/sdk-events.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.
