> ## Documentation Index
> Fetch the complete documentation index at: https://docs.rhinestone.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Sponsorship

> Sponsor deposit fees on behalf of your users.

Your organization pays gas, bridging, and protocol fees on every deposit, on every chain, so your users receive the full deposited amount on the target chain. The swap fee is paid by the user.

The Deposit API needs billing on every chain, testnets included: a card on your organization in the [dashboard](/home/resources/dashboard), or an approved contract. Without one, every call is refused with a `403`.

## Plan options

Enterprise plans can change who pays with `POST /setup`, per source chain:

| Fee            | Values                          | Available with        | Description                                                                                                                                                                             |
| -------------- | ------------------------------- | --------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Gas**        | `"all"`, `"deployed"`, `"none"` | Passing fees to users | `"all"` sponsors gas for every deposit. `"deployed"` only sponsors gas when the account is already deployed on the source chain — useful to avoid covering first-time deployment costs. |
| **Bridging**   | `"all"`, `"none"`               | Passing fees to users | Covers the settlement layer bridging fee.                                                                                                                                               |
| **Max amount** | `maxAmountUsd`                  | Passing fees to users | Sponsors gas and bridging only for deposits up to this USD value.                                                                                                                       |
| **Swap**       | `"all"`, `"none"`               | Swap sponsorship      | Covers the DEX swap fee when a token conversion is needed. Default: `"none"`.                                                                                                           |

The protocol fee is always sponsored. A setting your plan doesn't include is overwritten when you save it: gas and bridging to `"all"` with no `maxAmountUsd`, and swap to `"none"`. [Contact Rhinestone](https://www.rhinestone.dev/contact) to enable either option.

## Configure sponsorship

```ts theme={null}
const DEPOSIT_SERVICE_URL =
  "https://v1.orchestrator.rhinestone.dev/deposit-processor";
const API_KEY = "YOUR_RHINESTONE_API_KEY";

const headers = {
  "Content-Type": "application/json",
  "x-api-key": API_KEY,
};
```

Sponsorship is configured per source chain using [CAIP-2](https://chainagnostic.org/CAIPs/caip-2) identifiers. Each chain is configured independently — there's no global toggle. With passing fees to users, chains without explicit config default to no sponsorship; without it, they're fully sponsored like every other chain.

```ts theme={null}
await fetch(`${DEPOSIT_SERVICE_URL}/setup`, {
  method: "POST",
  headers,
  body: JSON.stringify({
    params: {
      sponsorship: {
        // Base: fully sponsored, swaps included
        "eip155:8453": { gas: "all", bridging: "all", swap: "all" },
        // Optimism: only gas, up to $1,000 deposits
        "eip155:10": { gas: "all", maxAmountUsd: 1000 },
        // Arbitrum: gas for deployed accounts only
        "eip155:42161": { gas: "deployed" },
        // Ethereum, Polygon: no sponsorship (not listed)
      },
    },
  }),
});
```

This example needs both plan options.

To clear all sponsorship rules, send `sponsorship: {}` in a partial `POST /setup` update.

## How sponsorship is resolved

Each fee type is resolved independently when processing a deposit, based on the source chain config and the account's deployment status at that moment.

* Each fee type is resolved independently. You can sponsor bridging without sponsoring gas, or vice versa.
* Deployment status is checked at processing time, not at registration. An account registered before deployment will start receiving gas sponsorship once it's deployed (if the mode is `"deployed"`).
* With passing fees to users, chains without explicit config default to no sponsorship, and omitting a fee type from the chain config is equivalent to `"none"`.

## Effect on deposit amount

**Sponsored fees** are covered by your organization and billed to you monthly. The user receives the full bridged amount — if they deposit 100 USDC and fees are 0.50 USDC, they receive the full 100 USDC on the target chain.

**Unsponsored fees** are deducted from the deposit. The user receives less than they sent — if they deposit 100 USDC and fees are 0.50 USDC, they receive 99.50 USDC.

## Learn more

* [Gas & fee sponsorship](/transactions/sponsorship/overview) — sponsorship for transactions
* [Dashboard](/home/resources/dashboard) — manage billing and monthly spend limits
* [Fees](/deposits/headless/fees/fee-breakdown) — full fee type breakdown
