Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
60 changes: 60 additions & 0 deletions api-references/transactions/endpoints/add-gas-sponsor.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,64 @@ title: AddGasSponsor
openapi: ./relayer-api.json post /rpc/Relayer/AddGasSponsor
---

## Overview

`AddGasSponsor` registers a new gas sponsor for your project on the Relayer's chain. Once a sponsor is active, the Transactions API relays matching transactions from your users without charging them gas — the cost is drawn from your project's gas tank balance.

You can sponsor:

- A **wallet address** — any transaction sent from that wallet on this chain is sponsored.
- A **contract address** — any user's interaction with that contract on this chain is sponsored.
- An **arbitrary address** — native-token transfers to that address are sponsored.

The same feature is available in Sequence Builder under **Gas Sponsorship** — the API is what powers it, and is the right choice when you need to manage sponsors programmatically (e.g. onboarding a new user cohort from your backend).

## Authentication

`AddGasSponsor` is a privileged write endpoint. Every request must include **both** headers:

| Header | Value | Where to find it |
| --- | --- | --- |
| `X-Access-Key` | Public API Access Key | Sequence Builder → **Settings → API Keys → Public API Access Keys** |
| `Authorization` | `Bearer <admin-api-secret-key>` | Sequence Builder → **Settings → API Keys → Admin API Secret Keys** |

Sending only the access key returns `403 PermissionDenied`. Sending only the secret key returns `401 AccessKeyNotFound`. Both keys must be present.

<Warning>
The Admin API Secret Key is a privileged JWT credential. Only use it from a trusted backend — never expose it in a browser, mobile app, or public repository.
</Warning>

If either section on the API Keys page is empty (`You have no API Keys`), create the missing key with **+ Add Public API Access Key** or **+ Add Admin API Secret Key** before calling this endpoint.

## Endpoint URL

`AddGasSponsor` is exposed on each network's Relayer host. Use the host matching the chain you want to sponsor on — for example:

- Base mainnet: `https://base-relayer.sequence.app/rpc/Relayer/AddGasSponsor`
- Polygon mainnet: `https://polygon-relayer.sequence.app/rpc/Relayer/AddGasSponsor`
- Arbitrum mainnet: `https://arbitrum-relayer.sequence.app/rpc/Relayer/AddGasSponsor`

The full list of Relayer hosts is on the [Transactions API overview](/api-references/transactions/overview).

## Example request

```bash cURL
curl -X POST https://base-relayer.sequence.app/rpc/Relayer/AddGasSponsor \
-H "Content-Type: application/json" \
-H "X-Access-Key: $SEQUENCE_ACCESS_KEY" \
-H "Authorization: Bearer $SEQUENCE_ADMIN_SECRET_KEY" \
-d '{
"projectId": 43551,
"address": "0xYourContractOrWalletAddress",
"name": "Free mint contract",
"active": true
}'
```

## Common errors

| Status | `error` | Meaning |
| --- | --- | --- |
| `401` | `AccessKeyNotFound` | The `X-Access-Key` header is missing or does not match a Public API Access Key on this project. |
| `403` | `PermissionDenied` | The request is missing the Admin API Secret Key, or the key does not have write permission for this project. |
| `400` | `InvalidArgument` | `projectId` or `address` is missing or malformed. |
8 changes: 6 additions & 2 deletions api-references/transactions/endpoints/relayer-api.json
Original file line number Diff line number Diff line change
Expand Up @@ -2012,7 +2012,8 @@
},
"/rpc/Relayer/AddGasSponsor": {
"post": {
"summary": "",
"summary": "AddGasSponsor",
"description": "Registers a new gas sponsor (wallet, contract, or arbitrary address) for the given project on the Relayer's chain. This is a privileged write call: it requires **both** a Public API Access Key (sent as `X-Access-Key`) **and** an Admin API Secret Key (sent as `Authorization: Bearer <jwt>`) — sending only one returns `401 AccessKeyNotFound` or `403 PermissionDenied`. Both keys are generated from the project's Settings → API Keys page in Sequence Builder and should only be used from a trusted backend.",
"requestBody": {
"content": {
"application/json": {
Expand Down Expand Up @@ -2078,7 +2079,10 @@
}
},
"security": [
{ "ApiKeyAuth": [ "AQAAAAAAAEGvyZiWA9FMslYeG_yayXaHnSI" ] }
{
"ApiKeyAuth": [ "AQAAAAAAAEGvyZiWA9FMslYeG_yayXaHnSI" ],
"BearerAuth": []
}
]
}
}
Expand Down
59 changes: 58 additions & 1 deletion es/api-references/transactions/endpoints/add-gas-sponsor.mdx
Original file line number Diff line number Diff line change
@@ -1,4 +1,61 @@
---
title: AgregarPatrocinadorDeGas
openapi: ./relayer-api.json post /rpc/Relayer/AddGasSponsor
---
---

## Descripción general
`AddGasSponsor` registra un nuevo patrocinador de gas para su proyecto en la cadena del Relayer. Una vez que un patrocinador está activo, la API de Transacciones retransmite las transacciones correspondientes de sus usuarios sin cobrarles gas: el costo se descuenta del saldo del tanque de gas de su proyecto.

Puede patrocinar:
- Una **dirección de wallet**: cualquier transacción enviada desde esa wallet en esta cadena será patrocinada.
- Una **dirección de contrato**: cualquier interacción de un usuario con ese contrato en esta cadena será patrocinada.
- Una **dirección arbitraria**: las transferencias de tokens nativos a esa dirección serán patrocinadas.

La misma función está disponible en Sequence Builder bajo **Gas Sponsorship**; la API es la que la impulsa y es la opción adecuada cuando necesita gestionar patrocinadores de forma programática (por ejemplo, al incorporar una nueva cohorte de usuarios desde su backend).

## Autenticación
`AddGasSponsor` es un endpoint de escritura privilegiado. Cada solicitud debe incluir **ambos** encabezados:

| Encabezado | Valor | Dónde encontrarlo |
| --------------- | --------------------------------- | ------------------------------------------------------------------- |
| `X-Access-Key` | Clave de Acceso Pública de la API | Sequence Builder → **Settings → API Keys → Public API Access Keys** |
| `Authorization` | `Bearer <admin-api-secret-key>` | Sequence Builder → **Settings → API Keys → Admin API Secret Keys** |

Enviar solo la clave de acceso devuelve `403 PermissionDenied`. Enviar solo la clave secreta devuelve `401 AccessKeyNotFound`. Ambas claves deben estar presentes.

<Warning>
La Admin API Secret Key es una credencial JWT privilegiada. Úsela solo desde un backend confiable; nunca la exponga en un navegador, aplicación móvil o repositorio público.
</Warning>

Si alguna de las secciones en la página de API Keys está vacía (`You have no API Keys`), cree la clave faltante con **+ Add Public API Access Key** o **+ Add Admin API Secret Key** antes de llamar a este endpoint.

## URL del endpoint
`AddGasSponsor` está disponible en el host del Relayer de cada red. Use el host que corresponda a la cadena en la que desea patrocinar, por ejemplo:
- Base mainnet: `https://base-relayer.sequence.app/rpc/Relayer/AddGasSponsor`
- Polygon mainnet: `https://polygon-relayer.sequence.app/rpc/Relayer/AddGasSponsor`
- Arbitrum mainnet: `https://arbitrum-relayer.sequence.app/rpc/Relayer/AddGasSponsor`

La lista completa de hosts de Relayer está en la [Descripción general de la API de Transacciones](/api-references/transactions/overview).

## Ejemplo de solicitud

```bash cURL
curl -X POST https://base-relayer.sequence.app/rpc/Relayer/AddGasSponsor \
-H "Content-Type: application/json" \
-H "X-Access-Key: $SEQUENCE_ACCESS_KEY" \
-H "Authorization: Bearer $SEQUENCE_ADMIN_SECRET_KEY" \
-d '{
"projectId": 43551,
"address": "0xYourContractOrWalletAddress",
"name": "Free mint contract",
"active": true
}'
```

## Errores comunes

| Estado | `error` | Significado |
| ------ | ------------------- | ------------------------------------------------------------------------------------------------------------- |
| `401` | `AccessKeyNotFound` | El encabezado `X-Access-Key` falta o no coincide con una Clave de Acceso Pública de la API en este proyecto. |
| `403` | `PermissionDenied` | La solicitud no incluye la Admin API Secret Key, o la clave no tiene permiso de escritura para este proyecto. |
| `400` | `InvalidArgument` | Falta o está mal formado el `projectId` o la `address`. |

Large diffs are not rendered by default.

35 changes: 35 additions & 0 deletions es/solutions/builder/gas-sponsorship.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,41 @@ Patrocinar gas es sencillo y funciona en todas las redes que soportamos con un s
## Patrocinio de gas para ecosistemas
También ofrecemos la posibilidad de patrocinar todas las transacciones de su ecosistema, donde orquestamos varios signers a través de nuestro relayer a nivel de cadena. Esto significa que cualquier desarrollador que construya en su ecosistema, así como cualquier usuario de wallets Sequence, tendrá la mejor experiencia de incorporación y UX posible. No dude en [contactarnos](https://support.sequence.xyz) para configurar esto en su ecosistema.

## Gestión de patrocinadores de gas vía API
También puede agregar y listar patrocinadores de gas de forma programática en lugar de usar Builder; esto es útil cuando necesita patrocinar direcciones desde su backend (por ejemplo, al incorporar nuevos usuarios o agregar contratos a medida que se implementan).

Los endpoints relevantes están en el servicio Relayer para cada cadena:
- [`AddGasSponsor`](/api-references/transactions/endpoints/add-gas-sponsor) — registre una wallet, contrato o dirección para ser patrocinado.
- [`ListGasSponsors`](/api-references/transactions/endpoints/list-gas-sponsors) — liste los patrocinadores existentes para un proyecto.

### Encabezados requeridos
`AddGasSponsor` es una llamada de escritura privilegiada. Cada solicitud debe incluir **ambos** de los siguientes encabezados:
- `X-Access-Key: <public-api-access-key>` — desde **Settings → API Keys → Public API Access Keys** en Builder.
- `Authorization: Bearer <admin-api-secret-key>` — desde **Settings → API Keys → Admin API Secret Keys** en Builder.

Enviar solo uno de ellos devuelve `401 AccessKeyNotFound` (falta la clave de acceso) o `403 PermissionDenied` (falta la clave secreta). Si alguna de las secciones en la página de API Keys está vacía, cree primero la clave faltante.

<Warning>
La Admin API Secret Key es una credencial JWT privilegiada. Úsela solo desde un backend confiable; nunca la exponga en un navegador, aplicación móvil o repositorio público.
</Warning>

### Ejemplo

```bash cURL
curl -X POST https://base-relayer.sequence.app/rpc/Relayer/AddGasSponsor \
-H "Content-Type: application/json" \
-H "X-Access-Key: $SEQUENCE_ACCESS_KEY" \
-H "Authorization: Bearer $SEQUENCE_ADMIN_SECRET_KEY" \
-d '{
"projectId": 43551,
"address": "0xYourContractOrWalletAddress",
"name": "Free mint contract",
"active": true
}'
```

Cada host de Relayer es específico de la cadena: use `base-relayer.sequence.app` para Base, `polygon-relayer.sequence.app` para Polygon, etc. Consulte la [Descripción general de la API de Transacciones](/api-references/transactions/overview) para ver la lista completa.

## Patrocinio condicional mediante Webhook
Si necesita tomar decisiones de patrocinio por transacción — por ejemplo, para aplicar límites de gasto por wallet, filtros KYC o reglas según el nivel de usuario — puede adjuntar un webhook a cualquier patrocinador de gas. Cuando llega una transacción patrocinada, el Relayer envía los detalles de la transacción a su endpoint mediante POST y solo la patrocina si usted la aprueba.

Expand Down
59 changes: 58 additions & 1 deletion ja/api-references/transactions/endpoints/add-gas-sponsor.mdx
Original file line number Diff line number Diff line change
@@ -1,4 +1,61 @@
---
title: ガススポンサーを追加
openapi: ./relayer-api.json post /rpc/Relayer/AddGasSponsor
---
---

## 概要
`AddGasSponsor` は、リレイヤーのチェーン上でプロジェクトの新しいガススポンサーを登録します。スポンサーが有効になると、Transactions API はユーザーからの該当するトランザクションをガス代なしで中継し、費用はプロジェクトのガスタンク残高から差し引かれます。

スポンサーできる対象:
- **ウォレットアドレス** — このチェーン上でそのウォレットから送信されるすべてのトランザクションがスポンサーされます。
- **コントラクトアドレス** — このチェーン上でそのコントラクトとやり取りするすべてのユーザーのトランザクションがスポンサーされます。
- **任意のアドレス** — そのアドレスへのネイティブトークンの送金がスポンサーされます。

同じ機能は Sequence Builder の **Gas Sponsorship** でも利用できます。API はこの機能の基盤であり、スポンサーをプログラムで管理したい場合(例:バックエンドから新しいユーザーグループをオンボーディングする場合)に最適です。

## 認証
`AddGasSponsor` は特権のある書き込みエンドポイントです。すべてのリクエストには**両方**のヘッダーが必要です:

| ヘッダー | 値 | 確認場所 |
| --------------- | ------------------------------- | ---------------------------------------------------------- |
| `X-Access-Key` | Public API Access Key | Sequence Builder → **設定 → APIキー → Public API Access Keys** |
| `Authorization` | `Bearer <admin-api-secret-key>` | Sequence Builder → **設定 → APIキー → Admin API Secret Keys** |

アクセスキーのみ送信した場合は `403 PermissionDenied` が返されます。シークレットキーのみ送信した場合は `401 AccessKeyNotFound` が返されます。両方のキーが必要です。

<Warning>
Admin API Secret Key は特権的なJWT認証情報です。信頼できるバックエンドのみで使用し、ブラウザやモバイルアプリ、公開リポジトリでは絶対に公開しないでください。
</Warning>

APIキーのページでどちらかのセクションが空の場合(`You have no API Keys`)、このエンドポイントを呼び出す前に **+ Add Public API Access Key** または **+ Add Admin API Secret Key** でキーを作成してください。

## エンドポイントURL
`AddGasSponsor` は各ネットワークのリレイヤーホストで提供されています。スポンサーしたいチェーンに対応するホストを使用してください。例:
- Baseメインネット:`https://base-relayer.sequence.app/rpc/Relayer/AddGasSponsor`
- Polygonメインネット:`https://polygon-relayer.sequence.app/rpc/Relayer/AddGasSponsor`
- Arbitrumメインネット:`https://arbitrum-relayer.sequence.app/rpc/Relayer/AddGasSponsor`

リレイヤーホストの全リストは [Transactions API overview](/api-references/transactions/overview) に掲載されています。

## リクエスト例

```bash cURL
curl -X POST https://base-relayer.sequence.app/rpc/Relayer/AddGasSponsor \
-H "Content-Type: application/json" \
-H "X-Access-Key: $SEQUENCE_ACCESS_KEY" \
-H "Authorization: Bearer $SEQUENCE_ADMIN_SECRET_KEY" \
-d '{
"projectId": 43551,
"address": "0xYourContractOrWalletAddress",
"name": "Free mint contract",
"active": true
}'
```

## よくあるエラー

| ステータス | `error` | 意味 |
| ----- | ------------------- | ------------------------------------------------------------------ |
| `401` | `AccessKeyNotFound` | `X-Access-Key` ヘッダーがない、またはこのプロジェクトの Public API Access Key と一致しません。 |
| `403` | `PermissionDenied` | リクエストに Admin API Secret Key が含まれていない、またはこのプロジェクトに対する書き込み権限がありません。 |
| `400` | `InvalidArgument` | `projectId` または `address` が不足しているか、形式が正しくありません。 |

Large diffs are not rendered by default.

35 changes: 35 additions & 0 deletions ja/solutions/builder/gas-sponsorship.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,41 @@ sidebarTitle: ガススポンサーシップ
## エコシステム全体のガススポンサーシップ
また、エコシステム全体のトランザクションをスポンサーする機能も提供しています。これは、リレイヤーを通じて複数の署名者をチェーンレベルで調整する仕組みです。これにより、エコシステム上で開発する開発者やSequenceウォレットのユーザーが、最高のオンボーディングとUXを体験できます。ご希望の場合は、[こちらからお問い合わせ](https://support.sequence.xyz)ください。

## APIによるガススポンサーの管理
Builderを使わずに、プログラムからガススポンサーを追加・一覧取得することもできます。バックエンドからアドレスをスポンサーしたい場合(例:新規ユーザーのオンボーディングや、コントラクトのデプロイ時に追加する場合)に便利です。

関連するエンドポイントは各チェーンのリレイヤーサービスにあります:
- [`AddGasSponsor`](/api-references/transactions/endpoints/add-gas-sponsor) — スポンサー対象のウォレット、コントラクト、またはアドレスを登録します。
- [`ListGasSponsors`](/api-references/transactions/endpoints/list-gas-sponsors) — プロジェクトの既存スポンサーを一覧表示します。

### 必要なヘッダー
`AddGasSponsor` は特権のある書き込み呼び出しです。すべてのリクエストに**以下の2つ**のヘッダーが必要です:
- `X-Access-Key: <public-api-access-key>` — Builder の **設定 → APIキー → Public API Access Keys** から取得します。
- `Authorization: Bearer <admin-api-secret-key>` — Builder の **設定 → APIキー → Admin API Secret Keys** から取得します。

どちらか一方のみ送信した場合は、`401 AccessKeyNotFound`(アクセスキー不足)または `403 PermissionDenied`(シークレットキー不足)が返されます。APIキーのページでどちらかが空の場合は、先にキーを作成してください。

<Warning>
Admin API Secret Key は特権的なJWT認証情報です。信頼できるバックエンドのみで使用し、ブラウザやモバイルアプリ、公開リポジトリでは絶対に公開しないでください。
</Warning>

### 例

```bash cURL
curl -X POST https://base-relayer.sequence.app/rpc/Relayer/AddGasSponsor \
-H "Content-Type: application/json" \
-H "X-Access-Key: $SEQUENCE_ACCESS_KEY" \
-H "Authorization: Bearer $SEQUENCE_ADMIN_SECRET_KEY" \
-d '{
"projectId": 43551,
"address": "0xYourContractOrWalletAddress",
"name": "Free mint contract",
"active": true
}'
```

各リレイヤーホストはチェーンごとに異なります。Baseには `base-relayer.sequence.app`、Polygonには `polygon-relayer.sequence.app` などを使用してください。全リストは [Transactions API overview](/api-references/transactions/overview) をご覧ください。

## Webhookによる条件付きスポンサーシップ
取引ごとにスポンサーシップの判断が必要な場合(例:ウォレットごとの利用上限、KYC制限、ユーザー階層ルールなど)、任意のガススポンサーにWebhookを設定できます。スポンサー付き取引が届くと、Relayerが取引詳細をあなたのエンドポイントにPOSTし、あなたが承認した場合のみスポンサーします。

Expand Down
Loading