> For the complete documentation index, see [llms.txt](https://docs.gassss.xyz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.gassss.xyz/documentation/gas-sponsorship/gas-spon.md).

# Pay in STABLE

<figure><img src="https://2726406672-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FDfizLCFDvB9Dw4Mn295P%2Fuploads%2FWAiV2K749kUxqpJ5cxNJ%2F6242445394205936765.jpg?alt=media&amp;token=3e7871cb-ab91-4da1-9196-0cd0f84ad1cd" alt=""><figcaption></figcaption></figure>

Stable Mainnet uses `gUSDT` as the gas token. Many users hold the governance token `STABLE` but do not hold `gUSDT`, and acquiring `gUSDT` often requires bridging and extra fees.

GASSSS adds a gas sponsorship layer so users can execute transactions while paying a fixed fee in `STABLE`.

### Core idea

* The relayer pays gas in `gUSDT`.
* The user pays a fee in `STABLE`.
* Execution is authorized by the user via EIP-712 signatures and enforced on chain.
* EIP-7702 is used to delegate an EOA to a `SponsoredExecutor` implementation for sponsored execution.

{% hint style="info" %}
Want to learn about precompiled ERC20 tokens? Head to the STABLE's [EIP-7702](https://stablelabs.mintlify.app/en/developers/core-mechanics/eip-7702) section to learn more.
{% endhint %}

### Components

`SponsoredExecutor` contract

* Enforces relayer only execution.
* Verifies EIP-712 signature against the delegated authority.
* Transfers `feeToken` and `feeAmount` to `feeRecipient`.
* Uses a namespaced `nonce` slot in EOA storage to avoid collisions.
* Uses transient storage for reentrancy protection.

Relayer

* Validates signatures and deadlines.
* Performs staticcall simulations to reduce failed transactions.
* Enforces fee policy and request constraints.

### Security model

* On chain immutables: `relayer`, `feeRecipient`, and `owner` are fixed at deployment.
* The contract only trusts signatures from the delegated authority and enforces nonces and deadlines.
* The server enforces fee policy and rejects requests that do not match configured `feeToken` and `feeAmount`.

### Mainnet parameters

* Fee token: STABLE `0x0000000000000000000000000000000000001003`
* Fee amount: 100 STABLE

### Mainnet deployments

| Component         | Address                                      |
| ----------------- | -------------------------------------------- |
| SponsoredExecutor | `0x9d870a5eaEbb6023C12D54f3cA0BBb02F866c55f` |
| Relayer           | `0x613c730e26e37464980a578275a76caa6ddfcd60` |
| Fee Recipient     | `0x5e20aceaa735bdae9e68c2bd8fd4e66ac6861e98` |
