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

# Gas Sponsorship

### Overview

Gas sponsored swaps on Robinhood Chain let your users swap without holding any ETH for transaction fees. A user who arrives with tokens and no gas keeps swapping inside your wallet — and keeps paying your swap fee — instead of leaving to fund their account somewhere else.

### Robinhood-Specific Use Cases

#### Primary Use Cases

* **No ETH holdings**: Users hold USDC or other ERC-20 tokens but have a zero ETH balance
* **CEX-to-wallet onboarding**: Users moving assets off a centralized exchange receive tokens but no ETH for fees
* **Cross-chain bridge recipients**: Users bridging tokens in who have nothing to pay for the first transaction out

#### Common Scenarios

* User holds 1,000 USDC but 0 ETH and wants to swap into another token
* User has a trace ETH balance, but not enough to cover the transaction fee
* New user receives airdropped tokens they want to swap into USDC

### How Sponsorship Works on Robinhood Chain

Sponsorship always comes down to the same thing: the user's account has to hold enough ETH to pay for their own transaction at the moment the chain evaluates it. What differs between chains is how Blink gets it there.

On Ethereum, Blink places the funding transaction and the user's swap into a single bundle, so the two are mutually inclusive. Robinhood Chain has [no bundles](/blink/robinhood-chain/how-it-works.md). The funding transfer and the swap are two independent transactions, and Blink sequences the funding transaction ahead of the user's swap so the account is funded by the time the swap is evaluated.

That distinction drives everything below.

{% hint style="info" %}
**The user's swap is signed before their account is funded.** This is the single most important consequence for your integration, and it is covered in detail on the [API Reference](/blink/robinhood-chain/gas-sponsorship/api-reference.md) page.
{% endhint %}

#### What this means in practice

{% stepper %}
{% step %}

## Your user sees two transactions, not one

Shortly before the swap, the user's account receives an ETH transfer from a Blink sponsor address.
{% endstep %}

{% step %}

## Your pre-flight checks will fail

At signing time the account genuinely cannot afford the transaction. Balance checks, local simulation, and `eth_estimateGas` against current state will all say so. On the sponsored path they have to be bypassed — `pm_isSponsorable` is the check that matters.
{% endstep %}

{% step %}

## Send the signed transaction to Blink only

Ordering depends on Blink controlling when the swap reaches the sequencer. Broadcasting the same signed transaction to a second endpoint in parallel can put it ahead of its own funding, where it is simply rejected for insufficient funds.
{% endstep %}
{% endstepper %}

### Gas Price

Robinhood Chain has a base fee. A transaction signed with a gas price of zero will not be included, exactly as on Ethereum.

{% hint style="warning" %}
If you have integrated Blink's gas sponsorship on **BSC**, this is the one place the two differ materially. On BSC you set the gas price to `0` and Blink pays the validator directly. On Robinhood Chain you must sign sponsored transactions with a **normal, non-zero gas price**, exactly as you would an unsponsored one. Blink sizes the funding transfer to cover whatever you sign.
{% endhint %}

### Which Transactions Get Sponsored

#### Whitelisted swap contracts

You give us the swap contracts your integration routes through, and we sponsor only transactions sent to those. This keeps sponsorship pointed at flow that earns you a fee, and means your API key cannot be used to fund arbitrary transfers out of the sponsorship budget.

#### Swap fee and profitability

Before sponsoring, Blink simulates the transaction to measure what the user is swapping and prices it in ETH, giving the notional value of the swap. We then apply the swap fee rate you have configured — expressed in basis points — to estimate what the swap earns you. Sponsorship proceeds when that estimated fee covers the cost of the gas being fronted, so a sponsored swap is one that is worth more to you than it costs to enable.

This is the same threshold model used on Ethereum — see [Blink Gas Sponsorship](/blink/get-started/blink-gas-sponsorship.md) for a worked example of a swap fee measured against gas cost.

{% hint style="info" %}
The fee is estimated from your configured rate applied to the simulated swap value. It is not read off the transaction itself, so the rate you give us should reflect what your integration actually charges — including referral revenue, if you want that counted.
{% endhint %}

Two settings shape how strict this is:

* **Whether the profitability check applies at all.** Some originators sponsor unconditionally within their caps and treat sponsorship as an acquisition cost rather than a per-transaction trade. If desireable, this can be configured for you.
* **The rate itself.** A rate that overstates what you earn sponsors swaps that lose money; one that understates it turns away swaps worth sponsoring.

#### ERC-20 approvals

A user with no ETH cannot approve a token either, which puts the swap out of reach before it starts. Approvals to your whitelisted routers can be sponsored on their own, under a separate daily cap.

An approval earns no fee by itself, so it is assessed against the swap it unlocks: we value the user's balance of the token being approved and apply the same fee rate, then compare that against the cost of sponsoring the approval.

#### Per-user daily caps

Sponsored swaps and sponsored approvals are each capped per user per day, at limits you choose. Caps are the main defence against a single account consuming a disproportionate share of the budget.

### Gas Limits and What Sponsorship Costs You

A sponsored transaction has to be funded for the **entire gas limit it is signed with**, not for the gas it ends up using. That is not a Blink policy — it is how the chain admits a transaction, and it cannot be worked around by funding less. Whatever the swap does not burn stays in the user's account.

The consequence is direct: a gas limit padded to three times the transaction's real usage costs roughly three times as much to sponsor, and two thirds of that lands as dust in the user's wallet instead of paying for gas.

{% hint style="warning" %}
Aggregated across your flow, the ratio of **gas limit to gas used** is the single largest controllable input to what sponsorship costs. A padded limit is never rejected — the cost is absorbed quietly, and shows up as budget exhausted sooner and fewer of your users sponsored.
{% endhint %}

We recommend:

* Derive the gas limit from `eth_estimateGas` on the sponsored path rather than from a global default.
* Pad modestly. Arbitrum-style gas accounting folds the data-availability cost into the transaction's gas usage, so an estimate can move between when you take it and when the transaction is included — a bounded buffer is prudent, a flat multiple is expensive.
* If you apply one padding factor across every chain you support, the sponsored path is worth special-casing.

Tightening gas limit estimation is, in most integrations, the highest-leverage change available for getting more sponsored swaps out of the same budget.

### Enabling Gas Sponsorship

To enable gas sponsorship on Robinhood Chain, reach out to <contact@blinklabs.xyz> with the following:

* The swap contracts your integration routes through, and the approval spenders that go with them
* Your swap fee rate in basis points, so we can estimate what a swap earns you (0.6% = 60 bp). Leave it out if you want sponsorship applied within your caps without a per-transaction profitability check
* The number of sponsored swaps and sponsored approvals each user can take per day
* Any additional limits you want applied, for example:
  * Maximum sponsorable gas limit
  * Maximum sponsorship cost per transaction
  * Only sponsor users holding a particular token

Once your key is enabled, gas sponsorship is active. Head to the [API Reference](/blink/robinhood-chain/gas-sponsorship/api-reference.md) page for what to change on your side.
