> For the complete documentation index, see [llms.txt](https://ston-fi.gitbook.io/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ston-fi.gitbook.io/docs/developer-section/omniston/sdk/evm/evm-signature.md).

# EVM Signature

This document explains how to choose the correct EVM signature format when sending signed data to Omniston.

In the EVM flow, signatures are passed to Omniston in two places:

* as the permit signature inside allowance data
* as the final order signature

For the explanation of wallet kinds themselves, see [EVM Wallet kind](/docs/developer-section/omniston/sdk/evm/evm-wallet-kind.md).

## Why wallet kind matters

Different EVM wallet kinds do not always use the same signature representation for the final order signature.

Because of that, the signature bytes sent to Omniston for the order must be formatted according to the wallet kind that produced the signature.

## Signature formats used by Omniston

Omniston uses two signature shapes:

* compact 64-byte signature
* raw 65-byte signature

The correct one must be chosen based on where the signature is used.

## Where Signatures Are Sent To Omniston

### Permit signature

This is used only when the allowance method includes an off-chain permit, such as:

* `EIP-2612`
* `Permit2`

For permit signatures, the signature sent to Omniston must always be raw 65-byte.

This does not change based on wallet kind.

### Order signature

This is the final signature of the EVM order itself.

For order signatures, the required signature format depends on wallet kind.

| Wallet kind     | Order signature format to send to Omniston |
| --------------- | ------------------------------------------ |
| EOA             | compact 64-byte                            |
| Delegated EOA   | compact 64-byte                            |
| Contract wallet | raw 65-byte                                |
