From 729ddde1216dcf871c17eddf04db46a7ab88aeb2 Mon Sep 17 00:00:00 2001 From: "mintlify[bot]" <109931778+mintlify[bot]@users.noreply.github.com> Date: Thu, 30 Jul 2026 13:03:13 +0000 Subject: [PATCH 1/2] docs: document AddGasSponsor auth requirements and API usage --- .../endpoints/add-gas-sponsor.mdx | 60 +++++++++++++++++++ .../transactions/endpoints/relayer-api.json | 8 ++- solutions/builder/gas-sponsorship.mdx | 39 ++++++++++++ 3 files changed, 105 insertions(+), 2 deletions(-) diff --git a/api-references/transactions/endpoints/add-gas-sponsor.mdx b/api-references/transactions/endpoints/add-gas-sponsor.mdx index 99798fb7..7fd90059 100644 --- a/api-references/transactions/endpoints/add-gas-sponsor.mdx +++ b/api-references/transactions/endpoints/add-gas-sponsor.mdx @@ -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 ` | 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. + + +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. + + +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. | diff --git a/api-references/transactions/endpoints/relayer-api.json b/api-references/transactions/endpoints/relayer-api.json index 34f5f838..a1e6b282 100644 --- a/api-references/transactions/endpoints/relayer-api.json +++ b/api-references/transactions/endpoints/relayer-api.json @@ -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 `) — 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": { @@ -2078,7 +2079,10 @@ } }, "security": [ - { "ApiKeyAuth": [ "AQAAAAAAAEGvyZiWA9FMslYeG_yayXaHnSI" ] } + { + "ApiKeyAuth": [ "AQAAAAAAAEGvyZiWA9FMslYeG_yayXaHnSI" ], + "BearerAuth": [] + } ] } } diff --git a/solutions/builder/gas-sponsorship.mdx b/solutions/builder/gas-sponsorship.mdx index 3bc8da59..01bb1582 100644 --- a/solutions/builder/gas-sponsorship.mdx +++ b/solutions/builder/gas-sponsorship.mdx @@ -73,6 +73,45 @@ Do not use a Builder contract deployment as your sponsorship test, since deploym We also offer the capability to sponsor all transactions for your ecosystem where we orchestrate a number of signers through our relayer at the chain level. This means any developer building on your ecosystem as well as any user of Sequence wallets has the best onboarding and UX experience possible. Please feel free to [contact us](https://support.sequence.xyz) to set this up for your ecosystem. +## Managing Gas Sponsors via API + +You can also add and list gas sponsors programmatically instead of using Builder — useful when you need to sponsor addresses from your backend (e.g. onboarding new users, adding contracts as they're deployed). + +The relevant endpoints live on the Relayer service for each chain: + +- [`AddGasSponsor`](/api-references/transactions/endpoints/add-gas-sponsor) — register a wallet, contract, or address to be sponsored. +- [`ListGasSponsors`](/api-references/transactions/endpoints/list-gas-sponsors) — list existing sponsors for a project. + +### Required headers + +`AddGasSponsor` is a privileged write call. Every request must include **both** of the following headers: + +- `X-Access-Key: ` — from **Settings → API Keys → Public API Access Keys** in Builder. +- `Authorization: Bearer ` — from **Settings → API Keys → Admin API Secret Keys** in Builder. + +Sending only one of them returns `401 AccessKeyNotFound` (missing access key) or `403 PermissionDenied` (missing secret key). If either section on the API Keys page is empty, create the missing key first. + + +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. + + +### Example + +```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 + }' +``` + +Each Relayer host is chain-specific — use `base-relayer.sequence.app` for Base, `polygon-relayer.sequence.app` for Polygon, etc. See the [Transactions API overview](/api-references/transactions/overview) for the full list. + ## Conditional Sponsorship via Webhook If you need to make per-transaction sponsorship decisions — for example to apply per-wallet spend caps, KYC gates, or user-tier rules — you can attach a webhook to any gas sponsor. When a sponsored transaction arrives, the Relayer POSTs the transaction details to your endpoint and only sponsors it if you approve. From 5f0ac0ea9b892eafb3cfa7d4a25e4a11dcb4570f Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 30 Jul 2026 13:04:53 +0000 Subject: [PATCH 2/2] chore(i18n): update translations [en] Sync file structure, format locales. Branch: 225/merge --- .../endpoints/add-gas-sponsor.mdx | 59 ++++++++++++++++++- .../transactions/endpoints/relayer-api.json | 2 +- es/solutions/builder/gas-sponsorship.mdx | 35 +++++++++++ .../endpoints/add-gas-sponsor.mdx | 59 ++++++++++++++++++- .../transactions/endpoints/relayer-api.json | 2 +- ja/solutions/builder/gas-sponsorship.mdx | 35 +++++++++++ 6 files changed, 188 insertions(+), 4 deletions(-) diff --git a/es/api-references/transactions/endpoints/add-gas-sponsor.mdx b/es/api-references/transactions/endpoints/add-gas-sponsor.mdx index aea25f4c..6690be25 100644 --- a/es/api-references/transactions/endpoints/add-gas-sponsor.mdx +++ b/es/api-references/transactions/endpoints/add-gas-sponsor.mdx @@ -1,4 +1,61 @@ --- title: AgregarPatrocinadorDeGas openapi: ./relayer-api.json post /rpc/Relayer/AddGasSponsor ---- \ No newline at end of file +--- + +## 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 ` | 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. + + + 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. + + +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`. | \ No newline at end of file diff --git a/es/api-references/transactions/endpoints/relayer-api.json b/es/api-references/transactions/endpoints/relayer-api.json index 542c5dac..c362e5f3 100644 --- a/es/api-references/transactions/endpoints/relayer-api.json +++ b/es/api-references/transactions/endpoints/relayer-api.json @@ -1 +1 @@ -{"components":{"schemas":{"ErrorWebrpcEndpoint":{"type":"objeto","required":["error","código","mensaje","estado"],"properties":{"error":{"type":"cadena","example":"WebrpcEndpoint"},"code":{"type":"número","example":"0"},"msg":{"type":"cadena","example":"error de endpoint"},"cause":{"type":"cadena"},"status":{"type":"número","example":"400"}}},"ErrorWebrpcRequestFailed":{"type":"objeto","required":["error","código","mensaje","estado"],"properties":{"error":{"type":"cadena","example":"WebrpcRequestFailed"},"code":{"type":"número","example":"-1"},"msg":{"type":"cadena","example":"solicitud fallida"},"cause":{"type":"cadena"},"status":{"type":"número","example":"400"}}},"ErrorWebrpcBadRoute":{"type":"objeto","required":["error","código","mensaje","estado"],"properties":{"error":{"type":"cadena","example":"WebrpcBadRoute"},"code":{"type":"número","example":"-2"},"msg":{"type":"cadena","example":"ruta incorrecta"},"cause":{"type":"cadena"},"status":{"type":"número","example":"404"}}},"ErrorWebrpcBadMethod":{"type":"objeto","required":["error","código","mensaje","estado"],"properties":{"error":{"type":"cadena","example":"WebrpcBadMethod"},"code":{"type":"número","example":"-3"},"msg":{"type":"cadena","example":"método incorrecto"},"cause":{"type":"cadena"},"status":{"type":"número","example":"405"}}},"ErrorWebrpcBadRequest":{"type":"objeto","required":["error","código","mensaje","estado"],"properties":{"error":{"type":"cadena","example":"WebrpcBadRequest"},"code":{"type":"número","example":"-4"},"msg":{"type":"cadena","example":"solicitud incorrecta"},"cause":{"type":"cadena"},"status":{"type":"número","example":"400"}}},"ErrorWebrpcBadResponse":{"type":"objeto","required":["error","código","mensaje","estado"],"properties":{"error":{"type":"cadena","example":"WebrpcBadResponse"},"code":{"type":"número","example":"-5"},"msg":{"type":"cadena","example":"respuesta incorrecta"},"cause":{"type":"cadena"},"status":{"type":"número","example":"500"}}},"ErrorWebrpcServerPanic":{"type":"objeto","required":["error","código","mensaje","estado"],"properties":{"error":{"type":"cadena","example":"WebrpcServerPanic"},"code":{"type":"número","example":"-6"},"msg":{"type":"cadena","example":"pánico del servidor"},"cause":{"type":"cadena"},"status":{"type":"número","example":"500"}}},"ErrorWebrpcInternalError":{"type":"objeto","required":["error","código","mensaje","estado"],"properties":{"error":{"type":"cadena","example":"WebrpcInternalError"},"code":{"type":"número","example":"-7"},"msg":{"type":"cadena","example":"error interno"},"cause":{"type":"cadena"},"status":{"type":"número","example":"500"}}},"ErrorWebrpcClientDisconnected":{"type":"objeto","required":["error","código","mensaje","estado"],"properties":{"error":{"type":"cadena","example":"WebrpcClientDisconnected"},"code":{"type":"número","example":"-8"},"msg":{"type":"cadena","example":"cliente desconectado"},"cause":{"type":"cadena"},"status":{"type":"número","example":"400"}}},"ErrorWebrpcStreamLost":{"type":"objeto","required":["error","código","mensaje","estado"],"properties":{"error":{"type":"cadena","example":"WebrpcStreamLost"},"code":{"type":"número","example":"-9"},"msg":{"type":"cadena","example":"flujo perdido"},"cause":{"type":"cadena"},"status":{"type":"número","example":"400"}}},"ErrorWebrpcStreamFinished":{"type":"objeto","required":["error","código","mensaje","estado"],"properties":{"error":{"type":"cadena","example":"WebrpcStreamFinished"},"code":{"type":"número","example":"-10"},"msg":{"type":"cadena","example":"flujo finalizado"},"cause":{"type":"cadena"},"status":{"type":"número","example":"200"}}},"ErrorUnauthorized":{"type":"objeto","required":["error","código","mensaje","estado"],"properties":{"error":{"type":"cadena","example":"No autorizado"},"code":{"type":"número","example":"1000"},"msg":{"type":"cadena","example":"Acceso no autorizado"},"cause":{"type":"cadena"},"status":{"type":"número","example":"401"}}},"ErrorPermissionDenied":{"type":"objeto","required":["error","código","mensaje","estado"],"properties":{"error":{"type":"cadena","example":"Permiso denegado"},"code":{"type":"número","example":"1001"},"msg":{"type":"cadena","example":"Permiso denegado"},"cause":{"type":"cadena"},"status":{"type":"número","example":"403"}}},"ErrorMethodNotFound":{"type":"objeto","required":["error","código","mensaje","estado"],"properties":{"error":{"type":"cadena","example":"Método no encontrado"},"code":{"type":"número","example":"1003"},"msg":{"type":"cadena","example":"Método no encontrado"},"cause":{"type":"cadena"},"status":{"type":"número","example":"404"}}},"ErrorRequestConflict":{"type":"objeto","required":["error","código","mensaje","estado"],"properties":{"error":{"type":"cadena","example":"Conflicto en la solicitud"},"code":{"type":"número","example":"1004"},"msg":{"type":"cadena","example":"Conflicto con el recurso de destino"},"cause":{"type":"cadena"},"status":{"type":"número","example":"409"}}},"ErrorAborted":{"type":"objeto","required":["error","código","mensaje","estado"],"properties":{"error":{"type":"cadena","example":"Abortado"},"code":{"type":"número","example":"1005"},"msg":{"type":"cadena","example":"Solicitud abortada"},"cause":{"type":"cadena"},"status":{"type":"número","example":"400"}}},"ErrorGeoblocked":{"type":"objeto","required":["error","código","mensaje","estado"],"properties":{"error":{"type":"cadena","example":"Región bloqueada por geolocalización"},"code":{"type":"número","example":"1006"},"msg":{"type":"cadena","example":"Región bloqueada por geolocalización"},"cause":{"type":"cadena"},"status":{"type":"número","example":"451"}}},"ErrorInvalidArgument":{"type":"objeto","required":["error","código","mensaje","estado"],"properties":{"error":{"type":"cadena","example":"Argumento inválido"},"code":{"type":"número","example":"2001"},"msg":{"type":"cadena","example":"Argumento inválido"},"cause":{"type":"cadena"},"status":{"type":"número","example":"400"}}},"ErrorUnavailable":{"type":"objeto","required":["error","código","mensaje","estado"],"properties":{"error":{"type":"cadena","example":"No disponible"},"code":{"type":"número","example":"2002"},"msg":{"type":"cadena","example":"Recurso no disponible"},"cause":{"type":"cadena"},"status":{"type":"número","example":"400"}}},"ErrorQueryFailed":{"type":"objeto","required":["error","código","mensaje","estado"],"properties":{"error":{"type":"cadena","example":"Consulta fallida"},"code":{"type":"número","example":"2003"},"msg":{"type":"cadena","example":"Consulta fallida"},"cause":{"type":"cadena"},"status":{"type":"número","example":"400"}}},"ErrorNotFound":{"type":"objeto","required":["error","código","mensaje","estado"],"properties":{"error":{"type":"cadena","example":"No encontrado"},"code":{"type":"número","example":"3000"},"msg":{"type":"cadena","example":"Recurso no encontrado"},"cause":{"type":"cadena"},"status":{"type":"número","example":"400"}}},"ErrorInsufficientFee":{"type":"objeto","required":["error","código","mensaje","estado"],"properties":{"error":{"type":"cadena","example":"Tarifa insuficiente"},"code":{"type":"número","example":"3004"},"msg":{"type":"cadena","example":"Tarifa insuficiente"},"cause":{"type":"cadena"},"status":{"type":"número","example":"402"}}},"ETHTxnStatus":{"type":"cadena","description":"Representado como uint en el lado del servidor","enum":["DESCONOCIDO","DESCARTADO","EN COLA","ENVIADO","EXITOSO","FALLÓ PARCIALMENTE","FALLÓ"]},"TransferType":{"type":"cadena","description":"Representado como uint32 en el lado del servidor","enum":["ENVIAR","RECIBIR","DEPÓSITO_BRIDGE","RETIRO_BRIDGE","BURN","DESCONOCIDO"]},"FeeTokenType":{"type":"cadena","description":"Representado como uint32 en el lado del servidor","enum":["DESCONOCIDO","TOKEN_ERC20","TOKEN_ERC1155"]},"SortOrder":{"type":"cadena","description":"Representado como uint32 en el lado del servidor","enum":["DESC","ASC"]},"Version":{"type":"objeto","required":["webrpcVersion","schemaVersion","schemaHash","appVersion"],"properties":{"webrpcVersion":{"type":"cadena"},"schemaVersion":{"type":"cadena"},"schemaHash":{"type":"cadena"},"appVersion":{"type":"cadena"}}},"RuntimeStatus":{"type":"objeto","required":["healthOK","startTime","uptime","ver","branch","commitHash","chainID","useEIP1559","senders","checks"],"properties":{"healthOK":{"type":"booleano"},"startTime":{"type":"cadena"},"uptime":{"type":"número"},"ver":{"type":"cadena"},"branch":{"type":"cadena"},"commitHash":{"type":"cadena"},"chainID":{"type":"número"},"useEIP1559":{"type":"booleano"},"senders":{"type":"arreglo","description":"[]SenderStatus","items":{"$ref":"#/components/schemas/SenderStatus"}},"checks":{"$ref":"#/components/schemas/RuntimeChecks"}}},"SenderStatus":{"type":"objeto","required":["índice","dirección","saldoEther","activo"],"properties":{"index":{"type":"número"},"address":{"type":"cadena"},"etherBalance":{"type":"número"},"active":{"type":"booleano"}}},"RuntimeChecks":{"type":"objeto"},"SequenceContext":{"type":"objeto","required":["factory","mainModule","mainModuleUpgradable","guestModule","utils"],"properties":{"factory":{"type":"cadena"},"mainModule":{"type":"cadena"},"mainModuleUpgradable":{"type":"cadena"},"guestModule":{"type":"cadena"},"utils":{"type":"cadena"}}},"GasTank":{"type":"objeto","required":["id","chainId","nombre","saldoActual","ilimitado","factorDeIncrementoDeTarifa","actualizadoEn","creadoEn"],"properties":{"id":{"type":"número"},"chainId":{"type":"número"},"name":{"type":"cadena"},"currentBalance":{"type":"número"},"unlimited":{"type":"booleano"},"feeMarkupFactor":{"type":"número"},"updatedAt":{"type":"cadena"},"createdAt":{"type":"cadena"}}},"GasTankBalanceAdjustment":{"type":"objeto","required":["gasTankId","nonce","monto","saldoTotal","timestampDeSaldo","creadoEn"],"properties":{"gasTankId":{"type":"número"},"nonce":{"type":"número"},"amount":{"type":"número"},"totalBalance":{"type":"número"},"balanceTimestamp":{"type":"cadena"},"createdAt":{"type":"cadena"}}},"GasSponsor":{"type":"objeto","required":["id","gasTankId","projectId","chainId","dirección","nombre","activo","actualizadoEn","creadoEn","eliminadoEn"],"properties":{"id":{"type":"número"},"gasTankId":{"type":"número"},"projectId":{"type":"número"},"chainId":{"type":"número"},"address":{"type":"cadena"},"name":{"type":"cadena"},"active":{"type":"booleano"},"updatedAt":{"type":"cadena"},"createdAt":{"type":"cadena"},"deletedAt":{"type":"cadena"}}},"GasSponsorUsage":{"type":"objeto","required":["nombre","id","gasTotalUsado","totalDeTarifasDeTransacción","totalDeTarifasDeTransacciónUsd","precioPromedioDeGas","totalDeTransacciones","startTime","horaDeFinalización"],"properties":{"name":{"type":"cadena"},"id":{"type":"número"},"totalGasUsed":{"type":"número"},"totalTxnFees":{"type":"número"},"totalTxnFeesUsd":{"type":"número"},"avgGasPrice":{"type":"número"},"totalTxns":{"type":"número"},"startTime":{"type":"cadena"},"endTime":{"type":"cadena"}}},"MetaTxn":{"type":"objeto","required":["chainId","walletAddress","contrato","entrada"],"properties":{"chainId":{"type":"número"},"walletAddress":{"type":"cadena"},"contract":{"type":"cadena"},"input":{"type":"cadena"}}},"MetaTxnLog":{"type":"objeto","required":["id","chainId","projectId","hashDeTransacción","nonceDeTransacción","estadoDeTransacción","razónDeReversiónDeTransacción","reencolados","enColaEn","enviadoEn","minadoEn","destino","entrada","argumentosDeTransacción","walletAddress","nonceDeMetaTransacción","límiteDeGas","precioDeGas","gasUsado","gasEstimado","tasaUsd","créditosUsados","estáEnListaBlanca","actualizadoEn","creadoEn"],"properties":{"id":{"type":"número"},"chainId":{"type":"número"},"projectId":{"type":"número"},"txnHash":{"type":"cadena"},"txnNonce":{"type":"cadena"},"metaTxnID":{"type":"cadena"},"txnStatus":{"$ref":"#/components/schemas/ETHTxnStatus"},"txnRevertReason":{"type":"cadena"},"requeues":{"type":"número"},"queuedAt":{"type":"cadena"},"sentAt":{"type":"cadena"},"minedAt":{"type":"cadena"},"target":{"type":"cadena"},"input":{"type":"cadena"},"txnArgs":{"type":"objeto","description":"map","additionalProperties":{"type":"objeto"}},"txnReceipt":{"type":"objeto","description":"map","additionalProperties":{"type":"objeto"}},"walletAddress":{"type":"cadena"},"metaTxnNonce":{"type":"cadena"},"gasLimit":{"type":"número"},"gasPrice":{"type":"cadena"},"gasUsed":{"type":"número"},"gasEstimated":{"type":"número"},"gasFeeMarkup":{"type":"número"},"usdRate":{"type":"cadena"},"creditsUsed":{"type":"número"},"isWhitelisted":{"type":"booleano"},"gasSponsor":{"type":"número"},"gasTank":{"type":"número"},"updatedAt":{"type":"cadena"},"createdAt":{"type":"cadena"}}},"MetaTxnReceipt":{"type":"objeto","required":["id","estado","índice","logs","recibos","reciboDeTransacción"],"properties":{"id":{"type":"cadena"},"status":{"type":"cadena"},"revertReason":{"type":"cadena"},"index":{"type":"número"},"logs":{"type":"arreglo","description":"[]MetaTxnReceiptLog","items":{"$ref":"#/components/schemas/MetaTxnReceiptLog"}},"receipts":{"type":"arreglo","description":"[]MetaTxnReceipt","items":{"$ref":"#/components/schemas/MetaTxnReceipt"}},"txnReceipt":{"type":"cadena"}}},"MetaTxnReceiptLog":{"type":"objeto","required":["dirección","temas","datos"],"properties":{"address":{"type":"cadena"},"topics":{"type":"arreglo","description":"[]string","items":{"type":"cadena"}},"data":{"type":"cadena"}}},"Transaction":{"type":"objeto","required":["númeroDeBloque","chainId","marcaDeTiempo"],"properties":{"txnHash":{"type":"cadena"},"blockNumber":{"type":"número"},"chainId":{"type":"número"},"metaTxnID":{"type":"cadena"},"transfers":{"type":"arreglo","description":"[]TxnLogTransfer","items":{"$ref":"#/components/schemas/TxnLogTransfer"}},"users":{"type":"objeto","description":"map","additionalProperties":{"$ref":"#/components/schemas/TxnLogUser"}},"timestamp":{"type":"cadena"}}},"TxnLogUser":{"type":"objeto","required":["nombreDeUsuario"],"properties":{"username":{"type":"cadena"}}},"TxnLogTransfer":{"type":"objeto","required":["tipoDeTransferencia","direcciónDelContrato","de","para","ids","cantidades"],"properties":{"transferType":{"$ref":"#/components/schemas/TransferType"},"contractAddress":{"type":"cadena"},"from":{"type":"cadena"},"to":{"type":"cadena"},"ids":{"type":"arreglo","description":"[]string","items":{"type":"cadena"}},"amounts":{"type":"arreglo","description":"[]string","items":{"type":"cadena"}}}},"SentTransactionsFilter":{"type":"objeto","properties":{"pending":{"type":"booleano"},"failed":{"type":"booleano"}}},"SimulateResult":{"type":"objeto","required":["ejecutado","exitoso","gasUsado","límiteDeGas"],"properties":{"executed":{"type":"booleano"},"succeeded":{"type":"booleano"},"result":{"type":"cadena"},"reason":{"type":"cadena"},"gasUsed":{"type":"número"},"gasLimit":{"type":"número"}}},"FeeOption":{"type":"objeto","required":["token","para","valor","límiteDeGas"],"properties":{"token":{"$ref":"#/components/schemas/FeeToken"},"to":{"type":"cadena"},"value":{"type":"cadena"},"gasLimit":{"type":"número"}}},"FeeToken":{"type":"objeto","required":["chainId","nombre","símbolo","tipo","logoURL"],"properties":{"chainId":{"type":"número"},"name":{"type":"cadena"},"symbol":{"type":"cadena"},"type":{"$ref":"#/components/schemas/FeeTokenType"},"decimals":{"type":"número"},"logoURL":{"type":"cadena"},"contractAddress":{"type":"cadena"},"tokenID":{"type":"cadena"}}},"Page":{"type":"objeto","properties":{"pageSize":{"type":"número"},"page":{"type":"número"},"more":{"type":"booleano"},"totalRecords":{"type":"número"},"column":{"type":"cadena"},"before":{"type":"objeto"},"after":{"type":"objeto"},"sort":{"type":"arreglo","description":"[]SortBy","items":{"$ref":"#/components/schemas/SortBy"}}}},"SortBy":{"type":"objeto","required":["columna","orden"],"properties":{"column":{"type":"cadena"},"order":{"$ref":"#/components/schemas/SortOrder"}}},"Relayer_GetChainID_Request":{"type":"objeto"},"Relayer_FeeTokens_Request":{"type":"objeto"},"Relayer_FeeOptions_Request":{"type":"objeto","properties":{"wallet":{"type":"cadena"},"to":{"type":"cadena"},"data":{"type":"cadena"},"simulate":{"type":"booleano"}}},"Relayer_GetChainID_Response":{"type":"objeto","properties":{"chainID":{"type":"número"}}},"Relayer_FeeTokens_Response":{"type":"objeto","properties":{"isFeeRequired":{"type":"booleano"},"tokens":{"type":"arreglo","description":"[]FeeToken","items":{"$ref":"#/components/schemas/FeeToken"}}}},"Relayer_FeeOptions_Response":{"type":"objeto","properties":{"options":{"type":"arreglo","description":"[]FeeOption","items":{"$ref":"#/components/schemas/FeeOption"}},"sponsored":{"type":"booleano"},"quote":{"type":"cadena"}}},"Relayer_ListGasSponsors_Request":{"type":"objeto","properties":{"projectId":{"type":"número"},"page":{"$ref":"#/components/schemas/Page"}}},"Relayer_ListGasSponsors_Response":{"type":"objeto","properties":{"page":{"$ref":"#/components/schemas/Page"},"gasSponsors":{"type":"arreglo","description":"[]GasSponsor","items":{"$ref":"#/components/schemas/GasSponsor"}}}},"Relayer_AddGasSponsor_Request":{"type":"objeto","properties":{"projectId":{"type":"número"},"address":{"type":"cadena"},"name":{"type":"cadena"},"active":{"type":"booleano"}}},"Relayer_AddGasSponsor_Response":{"type":"objeto","properties":{"status":{"type":"booleano"},"gasSponsor":{"$ref":"#/components/schemas/GasSponsor"}}}},"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","description":"Clave pública de acceso al proyecto para autenticar solicitudes obtenida en Sequence Builder. Ejemplo de clave de prueba: AQAAAAAAAEGvyZiWA9FMslYeG_yayXaHnSI","name":"X-Access-Key"},"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Token JWT secreto para autenticar solicitudes obtenido en Sequence Builder - no debe exponerse públicamente."}}},"info":{"title":"Relayer Api","version":""},"openapi":"3.0.0","paths":{"/rpc/Relayer/GetChainID":{"post":{"summary":"GetChainID","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Relayer_GetChainID_Request"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Relayer_GetChainID_Response"}}}},"4XX":{"description":"Error del cliente","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorWebrpcEndpoint"},{"$ref":"#/components/schemas/ErrorWebrpcRequestFailed"},{"$ref":"#/components/schemas/ErrorWebrpcBadRoute"},{"$ref":"#/components/schemas/ErrorWebrpcBadMethod"},{"$ref":"#/components/schemas/ErrorWebrpcBadRequest"},{"$ref":"#/components/schemas/ErrorWebrpcClientDisconnected"},{"$ref":"#/components/schemas/ErrorWebrpcStreamLost"},{"$ref":"#/components/schemas/ErrorUnauthorized"},{"$ref":"#/components/schemas/ErrorPermissionDenied"},{"$ref":"#/components/schemas/ErrorMethodNotFound"},{"$ref":"#/components/schemas/ErrorRequestConflict"},{"$ref":"#/components/schemas/ErrorAborted"},{"$ref":"#/components/schemas/ErrorGeoblocked"},{"$ref":"#/components/schemas/ErrorInvalidArgument"},{"$ref":"#/components/schemas/ErrorUnavailable"},{"$ref":"#/components/schemas/ErrorQueryFailed"},{"$ref":"#/components/schemas/ErrorNotFound"},{"$ref":"#/components/schemas/ErrorInsufficientFee"}]}}}},"5XX":{"description":"Error del servidor","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorWebrpcBadResponse"},{"$ref":"#/components/schemas/ErrorWebrpcServerPanic"},{"$ref":"#/components/schemas/ErrorWebrpcInternalError"}]}}}}},"security":[{"ApiKeyAuth":["AQAAAAAAAEGvyZiWA9FMslYeG_yayXaHnSI"]}]}},"/rpc/Relayer/FeeTokens":{"post":{"summary":"FeeTokens","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Relayer_FeeTokens_Request"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Relayer_FeeTokens_Response"}}}},"4XX":{"description":"Error del cliente","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorWebrpcEndpoint"},{"$ref":"#/components/schemas/ErrorWebrpcRequestFailed"},{"$ref":"#/components/schemas/ErrorWebrpcBadRoute"},{"$ref":"#/components/schemas/ErrorWebrpcBadMethod"},{"$ref":"#/components/schemas/ErrorWebrpcBadRequest"},{"$ref":"#/components/schemas/ErrorWebrpcClientDisconnected"},{"$ref":"#/components/schemas/ErrorWebrpcStreamLost"},{"$ref":"#/components/schemas/ErrorUnauthorized"},{"$ref":"#/components/schemas/ErrorPermissionDenied"},{"$ref":"#/components/schemas/ErrorMethodNotFound"},{"$ref":"#/components/schemas/ErrorRequestConflict"},{"$ref":"#/components/schemas/ErrorAborted"},{"$ref":"#/components/schemas/ErrorGeoblocked"},{"$ref":"#/components/schemas/ErrorInvalidArgument"},{"$ref":"#/components/schemas/ErrorUnavailable"},{"$ref":"#/components/schemas/ErrorQueryFailed"},{"$ref":"#/components/schemas/ErrorNotFound"},{"$ref":"#/components/schemas/ErrorInsufficientFee"}]}}}},"5XX":{"description":"Error del servidor","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorWebrpcBadResponse"},{"$ref":"#/components/schemas/ErrorWebrpcServerPanic"},{"$ref":"#/components/schemas/ErrorWebrpcInternalError"}]}}}}},"security":[{"ApiKeyAuth":["AQAAAAAAAEGvyZiWA9FMslYeG_yayXaHnSI"]}]}},"/rpc/Relayer/FeeOptions":{"post":{"summary":"FeeOptions","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Relayer_FeeOptions_Request"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Relayer_FeeOptions_Response"}}}},"4XX":{"description":"Error del cliente","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorWebrpcEndpoint"},{"$ref":"#/components/schemas/ErrorWebrpcRequestFailed"},{"$ref":"#/components/schemas/ErrorWebrpcBadRoute"},{"$ref":"#/components/schemas/ErrorWebrpcBadMethod"},{"$ref":"#/components/schemas/ErrorWebrpcBadRequest"},{"$ref":"#/components/schemas/ErrorWebrpcClientDisconnected"},{"$ref":"#/components/schemas/ErrorWebrpcStreamLost"},{"$ref":"#/components/schemas/ErrorUnauthorized"},{"$ref":"#/components/schemas/ErrorPermissionDenied"},{"$ref":"#/components/schemas/ErrorMethodNotFound"},{"$ref":"#/components/schemas/ErrorRequestConflict"},{"$ref":"#/components/schemas/ErrorAborted"},{"$ref":"#/components/schemas/ErrorGeoblocked"},{"$ref":"#/components/schemas/ErrorInvalidArgument"},{"$ref":"#/components/schemas/ErrorUnavailable"},{"$ref":"#/components/schemas/ErrorQueryFailed"},{"$ref":"#/components/schemas/ErrorNotFound"},{"$ref":"#/components/schemas/ErrorInsufficientFee"}]}}}},"5XX":{"description":"Error del servidor","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorWebrpcBadResponse"},{"$ref":"#/components/schemas/ErrorWebrpcServerPanic"},{"$ref":"#/components/schemas/ErrorWebrpcInternalError"}]}}}}},"security":[{"ApiKeyAuth":["AQAAAAAAAEGvyZiWA9FMslYeG_yayXaHnSI"]}]}},"/rpc/Relayer/ListGasSponsors":{"post":{"summary":"Gas Sponsorship","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Relayer_ListGasSponsors_Request"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Relayer_ListGasSponsors_Response"}}}},"4XX":{"description":"Error del cliente","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorWebrpcEndpoint"},{"$ref":"#/components/schemas/ErrorWebrpcRequestFailed"},{"$ref":"#/components/schemas/ErrorWebrpcBadRoute"},{"$ref":"#/components/schemas/ErrorWebrpcBadMethod"},{"$ref":"#/components/schemas/ErrorWebrpcBadRequest"},{"$ref":"#/components/schemas/ErrorWebrpcClientDisconnected"},{"$ref":"#/components/schemas/ErrorWebrpcStreamLost"},{"$ref":"#/components/schemas/ErrorUnauthorized"},{"$ref":"#/components/schemas/ErrorPermissionDenied"},{"$ref":"#/components/schemas/ErrorMethodNotFound"},{"$ref":"#/components/schemas/ErrorRequestConflict"},{"$ref":"#/components/schemas/ErrorAborted"},{"$ref":"#/components/schemas/ErrorGeoblocked"},{"$ref":"#/components/schemas/ErrorInvalidArgument"},{"$ref":"#/components/schemas/ErrorUnavailable"},{"$ref":"#/components/schemas/ErrorQueryFailed"},{"$ref":"#/components/schemas/ErrorNotFound"},{"$ref":"#/components/schemas/ErrorInsufficientFee"}]}}}},"5XX":{"description":"Error del servidor","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorWebrpcBadResponse"},{"$ref":"#/components/schemas/ErrorWebrpcServerPanic"},{"$ref":"#/components/schemas/ErrorWebrpcInternalError"}]}}}}},"security":[{"ApiKeyAuth":["AQAAAAAAAEGvyZiWA9FMslYeG_yayXaHnSI"]}]}},"/rpc/Relayer/AddGasSponsor":{"post":{"summary":"","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Relayer_AddGasSponsor_Request"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Relayer_AddGasSponsor_Response"}}}},"4XX":{"description":"Error del cliente","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorWebrpcEndpoint"},{"$ref":"#/components/schemas/ErrorWebrpcRequestFailed"},{"$ref":"#/components/schemas/ErrorWebrpcBadRoute"},{"$ref":"#/components/schemas/ErrorWebrpcBadMethod"},{"$ref":"#/components/schemas/ErrorWebrpcBadRequest"},{"$ref":"#/components/schemas/ErrorWebrpcClientDisconnected"},{"$ref":"#/components/schemas/ErrorWebrpcStreamLost"},{"$ref":"#/components/schemas/ErrorUnauthorized"},{"$ref":"#/components/schemas/ErrorPermissionDenied"},{"$ref":"#/components/schemas/ErrorMethodNotFound"},{"$ref":"#/components/schemas/ErrorRequestConflict"},{"$ref":"#/components/schemas/ErrorAborted"},{"$ref":"#/components/schemas/ErrorGeoblocked"},{"$ref":"#/components/schemas/ErrorInvalidArgument"},{"$ref":"#/components/schemas/ErrorUnavailable"},{"$ref":"#/components/schemas/ErrorQueryFailed"},{"$ref":"#/components/schemas/ErrorNotFound"},{"$ref":"#/components/schemas/ErrorInsufficientFee"}]}}}},"5XX":{"description":"Error del servidor","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorWebrpcBadResponse"},{"$ref":"#/components/schemas/ErrorWebrpcServerPanic"},{"$ref":"#/components/schemas/ErrorWebrpcInternalError"}]}}}}},"security":[{"ApiKeyAuth":["AQAAAAAAAEGvyZiWA9FMslYeG_yayXaHnSI"]}]}}},"servers":[{"url":"https://amoy-relayer.sequence.app","description":"Amoy Relayer"},{"url":"https://apechain-relayer.sequence.app","description":"Apechain Relayer"},{"url":"https://apechain-testnet-relayer.sequence.app","description":"Apechain-Testnet Relayer"},{"url":"https://arbitrum-relayer.sequence.app","description":"Arbitrum Relayer"},{"url":"https://arbitrum-nova-relayer.sequence.app","description":"Arbitrum-Nova Relayer"},{"url":"https://arbitrum-sepolia-relayer.sequence.app","description":"Arbitrum-Sepolia Relayer"},{"url":"https://avalanche-relayer.sequence.app","description":"Avalanche Relayer"},{"url":"https://avalanche-testnet-relayer.sequence.app","description":"Avalanche-Testnet Relayer"},{"url":"https://b3-relayer.sequence.app","description":"B3 Relayer"},{"url":"https://b3-sepolia-relayer.sequence.app","description":"B3-Sepolia Relayer"},{"url":"https://base-relayer.sequence.app","description":"Base Relayer"},{"url":"https://base-sepolia-relayer.sequence.app","description":"Base-Sepolia Relayer"},{"url":"https://blast-relayer.sequence.app","description":"Blast Relayer"},{"url":"https://blast-sepolia-relayer.sequence.app","description":"Blast-Sepolia Relayer"},{"url":"https://bsc-relayer.sequence.app","description":"Bsc Relayer"},{"url":"https://bsc-testnet-relayer.sequence.app","description":"Bsc-Testnet Relayer"},{"url":"https://gnosis-relayer.sequence.app","description":"Gnosis Relayer"},{"url":"https://homeverse-relayer.sequence.app","description":"Homeverse Relayer"},{"url":"https://homeverse-testnet-relayer.sequence.app","description":"Homeverse-Testnet Relayer"},{"url":"https://immutable-zkevm-relayer.sequence.app","description":"Immutable-Zkevm Relayer"},{"url":"https://immutable-zkevm-testnet-relayer.sequence.app","description":"Immutable-Zkevm-Testnet Relayer"},{"url":"https://laos-relayer.sequence.app","description":"Laos Relayer"},{"url":"https://laos-sigma-testnet-relayer.sequence.app","description":"Laos-Sigma-Testnet Relayer"},{"url":"https://mainnet-relayer.sequence.app","description":"Mainnet Relayer"},{"url":"https://optimism-relayer.sequence.app","description":"Optimism Relayer"},{"url":"https://optimism-sepolia-relayer.sequence.app","description":"Optimism-Sepolia Relayer"},{"url":"https://polygon-relayer.sequence.app","description":"Polygon Relayer"},{"url":"https://polygon-zkevm-relayer.sequence.app","description":"Polygon-Zkevm Relayer"},{"url":"https://rootnet-relayer.sequence.app","description":"Rootnet Relayer"},{"url":"https://rootnet-porcini-relayer.sequence.app","description":"Rootnet-Porcini Relayer"},{"url":"https://sepolia-relayer.sequence.app","description":"Sepolia Relayer"},{"url":"https://skale-nebula-relayer.sequence.app","description":"Skale-Nebula Relayer"},{"url":"https://skale-nebula-testnet-relayer.sequence.app","description":"Skale-Nebula-Testnet Relayer"},{"url":"https://soneium-minato-relayer.sequence.app","description":"Soneium-Minato Relayer"},{"url":"https://soneium-relayer.sequence.app","description":"Soneium Relayer"},{"url":"https://toy-testnet-relayer.sequence.app","description":"Toy-Testnet Relayer"},{"url":"https://xai-relayer.sequence.app","description":"Xai Relayer"},{"url":"https://xai-sepolia-relayer.sequence.app","description":"Xai-Sepolia Relayer"},{"url":"https://xr-sepolia-relayer.sequence.app","description":"Xr-Sepolia Relayer"}]} \ No newline at end of file +{"components":{"schemas":{"ErrorWebrpcEndpoint":{"type":"objeto","required":["error","código","mensaje","estado"],"properties":{"error":{"type":"cadena","example":"WebrpcEndpoint"},"code":{"type":"número","example":"0"},"msg":{"type":"cadena","example":"error de endpoint"},"cause":{"type":"cadena"},"status":{"type":"número","example":"400"}}},"ErrorWebrpcRequestFailed":{"type":"objeto","required":["error","código","mensaje","estado"],"properties":{"error":{"type":"cadena","example":"WebrpcRequestFailed"},"code":{"type":"número","example":"-1"},"msg":{"type":"cadena","example":"solicitud fallida"},"cause":{"type":"cadena"},"status":{"type":"número","example":"400"}}},"ErrorWebrpcBadRoute":{"type":"objeto","required":["error","código","mensaje","estado"],"properties":{"error":{"type":"cadena","example":"WebrpcBadRoute"},"code":{"type":"número","example":"-2"},"msg":{"type":"cadena","example":"ruta incorrecta"},"cause":{"type":"cadena"},"status":{"type":"número","example":"404"}}},"ErrorWebrpcBadMethod":{"type":"objeto","required":["error","código","mensaje","estado"],"properties":{"error":{"type":"cadena","example":"WebrpcBadMethod"},"code":{"type":"número","example":"-3"},"msg":{"type":"cadena","example":"método incorrecto"},"cause":{"type":"cadena"},"status":{"type":"número","example":"405"}}},"ErrorWebrpcBadRequest":{"type":"objeto","required":["error","código","mensaje","estado"],"properties":{"error":{"type":"cadena","example":"WebrpcBadRequest"},"code":{"type":"número","example":"-4"},"msg":{"type":"cadena","example":"solicitud incorrecta"},"cause":{"type":"cadena"},"status":{"type":"número","example":"400"}}},"ErrorWebrpcBadResponse":{"type":"objeto","required":["error","código","mensaje","estado"],"properties":{"error":{"type":"cadena","example":"WebrpcBadResponse"},"code":{"type":"número","example":"-5"},"msg":{"type":"cadena","example":"respuesta incorrecta"},"cause":{"type":"cadena"},"status":{"type":"número","example":"500"}}},"ErrorWebrpcServerPanic":{"type":"objeto","required":["error","código","mensaje","estado"],"properties":{"error":{"type":"cadena","example":"WebrpcServerPanic"},"code":{"type":"número","example":"-6"},"msg":{"type":"cadena","example":"pánico del servidor"},"cause":{"type":"cadena"},"status":{"type":"número","example":"500"}}},"ErrorWebrpcInternalError":{"type":"objeto","required":["error","código","mensaje","estado"],"properties":{"error":{"type":"cadena","example":"WebrpcInternalError"},"code":{"type":"número","example":"-7"},"msg":{"type":"cadena","example":"error interno"},"cause":{"type":"cadena"},"status":{"type":"número","example":"500"}}},"ErrorWebrpcClientDisconnected":{"type":"objeto","required":["error","código","mensaje","estado"],"properties":{"error":{"type":"cadena","example":"WebrpcClientDisconnected"},"code":{"type":"número","example":"-8"},"msg":{"type":"cadena","example":"cliente desconectado"},"cause":{"type":"cadena"},"status":{"type":"número","example":"400"}}},"ErrorWebrpcStreamLost":{"type":"objeto","required":["error","código","mensaje","estado"],"properties":{"error":{"type":"cadena","example":"WebrpcStreamLost"},"code":{"type":"número","example":"-9"},"msg":{"type":"cadena","example":"flujo perdido"},"cause":{"type":"cadena"},"status":{"type":"número","example":"400"}}},"ErrorWebrpcStreamFinished":{"type":"objeto","required":["error","código","mensaje","estado"],"properties":{"error":{"type":"cadena","example":"WebrpcStreamFinished"},"code":{"type":"número","example":"-10"},"msg":{"type":"cadena","example":"flujo finalizado"},"cause":{"type":"cadena"},"status":{"type":"número","example":"200"}}},"ErrorUnauthorized":{"type":"objeto","required":["error","código","mensaje","estado"],"properties":{"error":{"type":"cadena","example":"No autorizado"},"code":{"type":"número","example":"1000"},"msg":{"type":"cadena","example":"Acceso no autorizado"},"cause":{"type":"cadena"},"status":{"type":"número","example":"401"}}},"ErrorPermissionDenied":{"type":"objeto","required":["error","código","mensaje","estado"],"properties":{"error":{"type":"cadena","example":"Permiso denegado"},"code":{"type":"número","example":"1001"},"msg":{"type":"cadena","example":"Permiso denegado"},"cause":{"type":"cadena"},"status":{"type":"número","example":"403"}}},"ErrorMethodNotFound":{"type":"objeto","required":["error","código","mensaje","estado"],"properties":{"error":{"type":"cadena","example":"Método no encontrado"},"code":{"type":"número","example":"1003"},"msg":{"type":"cadena","example":"Método no encontrado"},"cause":{"type":"cadena"},"status":{"type":"número","example":"404"}}},"ErrorRequestConflict":{"type":"objeto","required":["error","código","mensaje","estado"],"properties":{"error":{"type":"cadena","example":"Conflicto en la solicitud"},"code":{"type":"número","example":"1004"},"msg":{"type":"cadena","example":"Conflicto con el recurso de destino"},"cause":{"type":"cadena"},"status":{"type":"número","example":"409"}}},"ErrorAborted":{"type":"objeto","required":["error","código","mensaje","estado"],"properties":{"error":{"type":"cadena","example":"Abortado"},"code":{"type":"número","example":"1005"},"msg":{"type":"cadena","example":"Solicitud abortada"},"cause":{"type":"cadena"},"status":{"type":"número","example":"400"}}},"ErrorGeoblocked":{"type":"objeto","required":["error","código","mensaje","estado"],"properties":{"error":{"type":"cadena","example":"Región bloqueada por geolocalización"},"code":{"type":"número","example":"1006"},"msg":{"type":"cadena","example":"Región bloqueada por geolocalización"},"cause":{"type":"cadena"},"status":{"type":"número","example":"451"}}},"ErrorInvalidArgument":{"type":"objeto","required":["error","código","mensaje","estado"],"properties":{"error":{"type":"cadena","example":"Argumento inválido"},"code":{"type":"número","example":"2001"},"msg":{"type":"cadena","example":"Argumento inválido"},"cause":{"type":"cadena"},"status":{"type":"número","example":"400"}}},"ErrorUnavailable":{"type":"objeto","required":["error","código","mensaje","estado"],"properties":{"error":{"type":"cadena","example":"No disponible"},"code":{"type":"número","example":"2002"},"msg":{"type":"cadena","example":"Recurso no disponible"},"cause":{"type":"cadena"},"status":{"type":"número","example":"400"}}},"ErrorQueryFailed":{"type":"objeto","required":["error","código","mensaje","estado"],"properties":{"error":{"type":"cadena","example":"Consulta fallida"},"code":{"type":"número","example":"2003"},"msg":{"type":"cadena","example":"Consulta fallida"},"cause":{"type":"cadena"},"status":{"type":"número","example":"400"}}},"ErrorNotFound":{"type":"objeto","required":["error","código","mensaje","estado"],"properties":{"error":{"type":"cadena","example":"No encontrado"},"code":{"type":"número","example":"3000"},"msg":{"type":"cadena","example":"Recurso no encontrado"},"cause":{"type":"cadena"},"status":{"type":"número","example":"400"}}},"ErrorInsufficientFee":{"type":"objeto","required":["error","código","mensaje","estado"],"properties":{"error":{"type":"cadena","example":"Tarifa insuficiente"},"code":{"type":"número","example":"3004"},"msg":{"type":"cadena","example":"Tarifa insuficiente"},"cause":{"type":"cadena"},"status":{"type":"número","example":"402"}}},"ETHTxnStatus":{"type":"cadena","description":"Representado como uint en el lado del servidor","enum":["DESCONOCIDO","DESCARTADO","EN COLA","ENVIADO","EXITOSO","FALLÓ PARCIALMENTE","FALLÓ"]},"TransferType":{"type":"cadena","description":"Representado como uint32 en el lado del servidor","enum":["ENVIAR","RECIBIR","DEPÓSITO_BRIDGE","RETIRO_BRIDGE","BURN","DESCONOCIDO"]},"FeeTokenType":{"type":"cadena","description":"Representado como uint32 en el lado del servidor","enum":["DESCONOCIDO","TOKEN_ERC20","TOKEN_ERC1155"]},"SortOrder":{"type":"cadena","description":"Representado como uint32 en el lado del servidor","enum":["DESC","ASC"]},"Version":{"type":"objeto","required":["webrpcVersion","schemaVersion","schemaHash","appVersion"],"properties":{"webrpcVersion":{"type":"cadena"},"schemaVersion":{"type":"cadena"},"schemaHash":{"type":"cadena"},"appVersion":{"type":"cadena"}}},"RuntimeStatus":{"type":"objeto","required":["healthOK","startTime","uptime","ver","branch","commitHash","chainID","useEIP1559","senders","checks"],"properties":{"healthOK":{"type":"booleano"},"startTime":{"type":"cadena"},"uptime":{"type":"número"},"ver":{"type":"cadena"},"branch":{"type":"cadena"},"commitHash":{"type":"cadena"},"chainID":{"type":"número"},"useEIP1559":{"type":"booleano"},"senders":{"type":"arreglo","description":"[]SenderStatus","items":{"$ref":"#/components/schemas/SenderStatus"}},"checks":{"$ref":"#/components/schemas/RuntimeChecks"}}},"SenderStatus":{"type":"objeto","required":["índice","dirección","saldoEther","activo"],"properties":{"index":{"type":"número"},"address":{"type":"cadena"},"etherBalance":{"type":"número"},"active":{"type":"booleano"}}},"RuntimeChecks":{"type":"objeto"},"SequenceContext":{"type":"objeto","required":["factory","mainModule","mainModuleUpgradable","guestModule","utils"],"properties":{"factory":{"type":"cadena"},"mainModule":{"type":"cadena"},"mainModuleUpgradable":{"type":"cadena"},"guestModule":{"type":"cadena"},"utils":{"type":"cadena"}}},"GasTank":{"type":"objeto","required":["id","chainId","nombre","saldoActual","ilimitado","factorDeIncrementoDeTarifa","actualizadoEn","creadoEn"],"properties":{"id":{"type":"número"},"chainId":{"type":"número"},"name":{"type":"cadena"},"currentBalance":{"type":"número"},"unlimited":{"type":"booleano"},"feeMarkupFactor":{"type":"número"},"updatedAt":{"type":"cadena"},"createdAt":{"type":"cadena"}}},"GasTankBalanceAdjustment":{"type":"objeto","required":["gasTankId","nonce","monto","saldoTotal","timestampDeSaldo","creadoEn"],"properties":{"gasTankId":{"type":"número"},"nonce":{"type":"número"},"amount":{"type":"número"},"totalBalance":{"type":"número"},"balanceTimestamp":{"type":"cadena"},"createdAt":{"type":"cadena"}}},"GasSponsor":{"type":"objeto","required":["id","gasTankId","projectId","chainId","dirección","nombre","activo","actualizadoEn","creadoEn","eliminadoEn"],"properties":{"id":{"type":"número"},"gasTankId":{"type":"número"},"projectId":{"type":"número"},"chainId":{"type":"número"},"address":{"type":"cadena"},"name":{"type":"cadena"},"active":{"type":"booleano"},"updatedAt":{"type":"cadena"},"createdAt":{"type":"cadena"},"deletedAt":{"type":"cadena"}}},"GasSponsorUsage":{"type":"objeto","required":["nombre","id","gasTotalUsado","totalDeTarifasDeTransacción","totalDeTarifasDeTransacciónUsd","precioPromedioDeGas","totalDeTransacciones","startTime","horaDeFinalización"],"properties":{"name":{"type":"cadena"},"id":{"type":"número"},"totalGasUsed":{"type":"número"},"totalTxnFees":{"type":"número"},"totalTxnFeesUsd":{"type":"número"},"avgGasPrice":{"type":"número"},"totalTxns":{"type":"número"},"startTime":{"type":"cadena"},"endTime":{"type":"cadena"}}},"MetaTxn":{"type":"objeto","required":["chainId","walletAddress","contrato","entrada"],"properties":{"chainId":{"type":"número"},"walletAddress":{"type":"cadena"},"contract":{"type":"cadena"},"input":{"type":"cadena"}}},"MetaTxnLog":{"type":"objeto","required":["id","chainId","projectId","hashDeTransacción","nonceDeTransacción","estadoDeTransacción","razónDeReversiónDeTransacción","reencolados","enColaEn","enviadoEn","minadoEn","destino","entrada","argumentosDeTransacción","walletAddress","nonceDeMetaTransacción","límiteDeGas","precioDeGas","gasUsado","gasEstimado","tasaUsd","créditosUsados","estáEnListaBlanca","actualizadoEn","creadoEn"],"properties":{"id":{"type":"número"},"chainId":{"type":"número"},"projectId":{"type":"número"},"txnHash":{"type":"cadena"},"txnNonce":{"type":"cadena"},"metaTxnID":{"type":"cadena"},"txnStatus":{"$ref":"#/components/schemas/ETHTxnStatus"},"txnRevertReason":{"type":"cadena"},"requeues":{"type":"número"},"queuedAt":{"type":"cadena"},"sentAt":{"type":"cadena"},"minedAt":{"type":"cadena"},"target":{"type":"cadena"},"input":{"type":"cadena"},"txnArgs":{"type":"objeto","description":"map","additionalProperties":{"type":"objeto"}},"txnReceipt":{"type":"objeto","description":"map","additionalProperties":{"type":"objeto"}},"walletAddress":{"type":"cadena"},"metaTxnNonce":{"type":"cadena"},"gasLimit":{"type":"número"},"gasPrice":{"type":"cadena"},"gasUsed":{"type":"número"},"gasEstimated":{"type":"número"},"gasFeeMarkup":{"type":"número"},"usdRate":{"type":"cadena"},"creditsUsed":{"type":"número"},"isWhitelisted":{"type":"booleano"},"gasSponsor":{"type":"número"},"gasTank":{"type":"número"},"updatedAt":{"type":"cadena"},"createdAt":{"type":"cadena"}}},"MetaTxnReceipt":{"type":"objeto","required":["id","estado","índice","logs","recibos","reciboDeTransacción"],"properties":{"id":{"type":"cadena"},"status":{"type":"cadena"},"revertReason":{"type":"cadena"},"index":{"type":"número"},"logs":{"type":"arreglo","description":"[]MetaTxnReceiptLog","items":{"$ref":"#/components/schemas/MetaTxnReceiptLog"}},"receipts":{"type":"arreglo","description":"[]MetaTxnReceipt","items":{"$ref":"#/components/schemas/MetaTxnReceipt"}},"txnReceipt":{"type":"cadena"}}},"MetaTxnReceiptLog":{"type":"objeto","required":["dirección","temas","datos"],"properties":{"address":{"type":"cadena"},"topics":{"type":"arreglo","description":"[]string","items":{"type":"cadena"}},"data":{"type":"cadena"}}},"Transaction":{"type":"objeto","required":["númeroDeBloque","chainId","marcaDeTiempo"],"properties":{"txnHash":{"type":"cadena"},"blockNumber":{"type":"número"},"chainId":{"type":"número"},"metaTxnID":{"type":"cadena"},"transfers":{"type":"arreglo","description":"[]TxnLogTransfer","items":{"$ref":"#/components/schemas/TxnLogTransfer"}},"users":{"type":"objeto","description":"map","additionalProperties":{"$ref":"#/components/schemas/TxnLogUser"}},"timestamp":{"type":"cadena"}}},"TxnLogUser":{"type":"objeto","required":["nombreDeUsuario"],"properties":{"username":{"type":"cadena"}}},"TxnLogTransfer":{"type":"objeto","required":["tipoDeTransferencia","direcciónDelContrato","de","para","ids","cantidades"],"properties":{"transferType":{"$ref":"#/components/schemas/TransferType"},"contractAddress":{"type":"cadena"},"from":{"type":"cadena"},"to":{"type":"cadena"},"ids":{"type":"arreglo","description":"[]string","items":{"type":"cadena"}},"amounts":{"type":"arreglo","description":"[]string","items":{"type":"cadena"}}}},"SentTransactionsFilter":{"type":"objeto","properties":{"pending":{"type":"booleano"},"failed":{"type":"booleano"}}},"SimulateResult":{"type":"objeto","required":["ejecutado","exitoso","gasUsado","límiteDeGas"],"properties":{"executed":{"type":"booleano"},"succeeded":{"type":"booleano"},"result":{"type":"cadena"},"reason":{"type":"cadena"},"gasUsed":{"type":"número"},"gasLimit":{"type":"número"}}},"FeeOption":{"type":"objeto","required":["token","para","valor","límiteDeGas"],"properties":{"token":{"$ref":"#/components/schemas/FeeToken"},"to":{"type":"cadena"},"value":{"type":"cadena"},"gasLimit":{"type":"número"}}},"FeeToken":{"type":"objeto","required":["chainId","nombre","símbolo","tipo","logoURL"],"properties":{"chainId":{"type":"número"},"name":{"type":"cadena"},"symbol":{"type":"cadena"},"type":{"$ref":"#/components/schemas/FeeTokenType"},"decimals":{"type":"número"},"logoURL":{"type":"cadena"},"contractAddress":{"type":"cadena"},"tokenID":{"type":"cadena"}}},"Page":{"type":"objeto","properties":{"pageSize":{"type":"número"},"page":{"type":"número"},"more":{"type":"booleano"},"totalRecords":{"type":"número"},"column":{"type":"cadena"},"before":{"type":"objeto"},"after":{"type":"objeto"},"sort":{"type":"arreglo","description":"[]SortBy","items":{"$ref":"#/components/schemas/SortBy"}}}},"SortBy":{"type":"objeto","required":["columna","orden"],"properties":{"column":{"type":"cadena"},"order":{"$ref":"#/components/schemas/SortOrder"}}},"Relayer_GetChainID_Request":{"type":"objeto"},"Relayer_FeeTokens_Request":{"type":"objeto"},"Relayer_FeeOptions_Request":{"type":"objeto","properties":{"wallet":{"type":"cadena"},"to":{"type":"cadena"},"data":{"type":"cadena"},"simulate":{"type":"booleano"}}},"Relayer_GetChainID_Response":{"type":"objeto","properties":{"chainID":{"type":"número"}}},"Relayer_FeeTokens_Response":{"type":"objeto","properties":{"isFeeRequired":{"type":"booleano"},"tokens":{"type":"arreglo","description":"[]FeeToken","items":{"$ref":"#/components/schemas/FeeToken"}}}},"Relayer_FeeOptions_Response":{"type":"objeto","properties":{"options":{"type":"arreglo","description":"[]FeeOption","items":{"$ref":"#/components/schemas/FeeOption"}},"sponsored":{"type":"booleano"},"quote":{"type":"cadena"}}},"Relayer_ListGasSponsors_Request":{"type":"objeto","properties":{"projectId":{"type":"número"},"page":{"$ref":"#/components/schemas/Page"}}},"Relayer_ListGasSponsors_Response":{"type":"objeto","properties":{"page":{"$ref":"#/components/schemas/Page"},"gasSponsors":{"type":"arreglo","description":"[]GasSponsor","items":{"$ref":"#/components/schemas/GasSponsor"}}}},"Relayer_AddGasSponsor_Request":{"type":"objeto","properties":{"projectId":{"type":"número"},"address":{"type":"cadena"},"name":{"type":"cadena"},"active":{"type":"booleano"}}},"Relayer_AddGasSponsor_Response":{"type":"objeto","properties":{"status":{"type":"booleano"},"gasSponsor":{"$ref":"#/components/schemas/GasSponsor"}}}},"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","description":"Clave pública de acceso al proyecto para autenticar solicitudes obtenida en Sequence Builder. Ejemplo de clave de prueba: AQAAAAAAAEGvyZiWA9FMslYeG_yayXaHnSI","name":"X-Access-Key"},"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Token JWT secreto para autenticar solicitudes obtenido en Sequence Builder - no debe exponerse públicamente."}}},"info":{"title":"Relayer Api","version":""},"openapi":"3.0.0","paths":{"/rpc/Relayer/GetChainID":{"post":{"summary":"GetChainID","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Relayer_GetChainID_Request"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Relayer_GetChainID_Response"}}}},"4XX":{"description":"Error del cliente","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorWebrpcEndpoint"},{"$ref":"#/components/schemas/ErrorWebrpcRequestFailed"},{"$ref":"#/components/schemas/ErrorWebrpcBadRoute"},{"$ref":"#/components/schemas/ErrorWebrpcBadMethod"},{"$ref":"#/components/schemas/ErrorWebrpcBadRequest"},{"$ref":"#/components/schemas/ErrorWebrpcClientDisconnected"},{"$ref":"#/components/schemas/ErrorWebrpcStreamLost"},{"$ref":"#/components/schemas/ErrorUnauthorized"},{"$ref":"#/components/schemas/ErrorPermissionDenied"},{"$ref":"#/components/schemas/ErrorMethodNotFound"},{"$ref":"#/components/schemas/ErrorRequestConflict"},{"$ref":"#/components/schemas/ErrorAborted"},{"$ref":"#/components/schemas/ErrorGeoblocked"},{"$ref":"#/components/schemas/ErrorInvalidArgument"},{"$ref":"#/components/schemas/ErrorUnavailable"},{"$ref":"#/components/schemas/ErrorQueryFailed"},{"$ref":"#/components/schemas/ErrorNotFound"},{"$ref":"#/components/schemas/ErrorInsufficientFee"}]}}}},"5XX":{"description":"Error del servidor","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorWebrpcBadResponse"},{"$ref":"#/components/schemas/ErrorWebrpcServerPanic"},{"$ref":"#/components/schemas/ErrorWebrpcInternalError"}]}}}}},"security":[{"ApiKeyAuth":["AQAAAAAAAEGvyZiWA9FMslYeG_yayXaHnSI"]}]}},"/rpc/Relayer/FeeTokens":{"post":{"summary":"FeeTokens","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Relayer_FeeTokens_Request"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Relayer_FeeTokens_Response"}}}},"4XX":{"description":"Error del cliente","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorWebrpcEndpoint"},{"$ref":"#/components/schemas/ErrorWebrpcRequestFailed"},{"$ref":"#/components/schemas/ErrorWebrpcBadRoute"},{"$ref":"#/components/schemas/ErrorWebrpcBadMethod"},{"$ref":"#/components/schemas/ErrorWebrpcBadRequest"},{"$ref":"#/components/schemas/ErrorWebrpcClientDisconnected"},{"$ref":"#/components/schemas/ErrorWebrpcStreamLost"},{"$ref":"#/components/schemas/ErrorUnauthorized"},{"$ref":"#/components/schemas/ErrorPermissionDenied"},{"$ref":"#/components/schemas/ErrorMethodNotFound"},{"$ref":"#/components/schemas/ErrorRequestConflict"},{"$ref":"#/components/schemas/ErrorAborted"},{"$ref":"#/components/schemas/ErrorGeoblocked"},{"$ref":"#/components/schemas/ErrorInvalidArgument"},{"$ref":"#/components/schemas/ErrorUnavailable"},{"$ref":"#/components/schemas/ErrorQueryFailed"},{"$ref":"#/components/schemas/ErrorNotFound"},{"$ref":"#/components/schemas/ErrorInsufficientFee"}]}}}},"5XX":{"description":"Error del servidor","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorWebrpcBadResponse"},{"$ref":"#/components/schemas/ErrorWebrpcServerPanic"},{"$ref":"#/components/schemas/ErrorWebrpcInternalError"}]}}}}},"security":[{"ApiKeyAuth":["AQAAAAAAAEGvyZiWA9FMslYeG_yayXaHnSI"]}]}},"/rpc/Relayer/FeeOptions":{"post":{"summary":"FeeOptions","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Relayer_FeeOptions_Request"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Relayer_FeeOptions_Response"}}}},"4XX":{"description":"Error del cliente","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorWebrpcEndpoint"},{"$ref":"#/components/schemas/ErrorWebrpcRequestFailed"},{"$ref":"#/components/schemas/ErrorWebrpcBadRoute"},{"$ref":"#/components/schemas/ErrorWebrpcBadMethod"},{"$ref":"#/components/schemas/ErrorWebrpcBadRequest"},{"$ref":"#/components/schemas/ErrorWebrpcClientDisconnected"},{"$ref":"#/components/schemas/ErrorWebrpcStreamLost"},{"$ref":"#/components/schemas/ErrorUnauthorized"},{"$ref":"#/components/schemas/ErrorPermissionDenied"},{"$ref":"#/components/schemas/ErrorMethodNotFound"},{"$ref":"#/components/schemas/ErrorRequestConflict"},{"$ref":"#/components/schemas/ErrorAborted"},{"$ref":"#/components/schemas/ErrorGeoblocked"},{"$ref":"#/components/schemas/ErrorInvalidArgument"},{"$ref":"#/components/schemas/ErrorUnavailable"},{"$ref":"#/components/schemas/ErrorQueryFailed"},{"$ref":"#/components/schemas/ErrorNotFound"},{"$ref":"#/components/schemas/ErrorInsufficientFee"}]}}}},"5XX":{"description":"Error del servidor","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorWebrpcBadResponse"},{"$ref":"#/components/schemas/ErrorWebrpcServerPanic"},{"$ref":"#/components/schemas/ErrorWebrpcInternalError"}]}}}}},"security":[{"ApiKeyAuth":["AQAAAAAAAEGvyZiWA9FMslYeG_yayXaHnSI"]}]}},"/rpc/Relayer/ListGasSponsors":{"post":{"summary":"Gas Sponsorship","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Relayer_ListGasSponsors_Request"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Relayer_ListGasSponsors_Response"}}}},"4XX":{"description":"Error del cliente","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorWebrpcEndpoint"},{"$ref":"#/components/schemas/ErrorWebrpcRequestFailed"},{"$ref":"#/components/schemas/ErrorWebrpcBadRoute"},{"$ref":"#/components/schemas/ErrorWebrpcBadMethod"},{"$ref":"#/components/schemas/ErrorWebrpcBadRequest"},{"$ref":"#/components/schemas/ErrorWebrpcClientDisconnected"},{"$ref":"#/components/schemas/ErrorWebrpcStreamLost"},{"$ref":"#/components/schemas/ErrorUnauthorized"},{"$ref":"#/components/schemas/ErrorPermissionDenied"},{"$ref":"#/components/schemas/ErrorMethodNotFound"},{"$ref":"#/components/schemas/ErrorRequestConflict"},{"$ref":"#/components/schemas/ErrorAborted"},{"$ref":"#/components/schemas/ErrorGeoblocked"},{"$ref":"#/components/schemas/ErrorInvalidArgument"},{"$ref":"#/components/schemas/ErrorUnavailable"},{"$ref":"#/components/schemas/ErrorQueryFailed"},{"$ref":"#/components/schemas/ErrorNotFound"},{"$ref":"#/components/schemas/ErrorInsufficientFee"}]}}}},"5XX":{"description":"Error del servidor","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorWebrpcBadResponse"},{"$ref":"#/components/schemas/ErrorWebrpcServerPanic"},{"$ref":"#/components/schemas/ErrorWebrpcInternalError"}]}}}}},"security":[{"ApiKeyAuth":["AQAAAAAAAEGvyZiWA9FMslYeG_yayXaHnSI"]}]}},"/rpc/Relayer/AddGasSponsor":{"post":{"summary":"AgregarPatrocinadorDeGas","description":"Registra un nuevo patrocinador de gas (wallet, contrato o dirección arbitraria) para el proyecto indicado en la cadena del Relayer. Esta es una llamada de escritura privilegiada: requiere **tanto** una Clave de Acceso Pública a la API (enviada como `X-Access-Key`) **como** una Clave Secreta de Admin de la API (enviada como `Authorization: Bearer `); si solo se envía una, se devuelve `401 AccessKeyNotFound` o `403 PermissionDenied`. Ambas claves se generan en la página Configuración → Claves API del proyecto en Sequence Builder y solo deben usarse desde un backend de confianza.","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Relayer_AddGasSponsor_Request"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Relayer_AddGasSponsor_Response"}}}},"4XX":{"description":"Error del cliente","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorWebrpcEndpoint"},{"$ref":"#/components/schemas/ErrorWebrpcRequestFailed"},{"$ref":"#/components/schemas/ErrorWebrpcBadRoute"},{"$ref":"#/components/schemas/ErrorWebrpcBadMethod"},{"$ref":"#/components/schemas/ErrorWebrpcBadRequest"},{"$ref":"#/components/schemas/ErrorWebrpcClientDisconnected"},{"$ref":"#/components/schemas/ErrorWebrpcStreamLost"},{"$ref":"#/components/schemas/ErrorUnauthorized"},{"$ref":"#/components/schemas/ErrorPermissionDenied"},{"$ref":"#/components/schemas/ErrorMethodNotFound"},{"$ref":"#/components/schemas/ErrorRequestConflict"},{"$ref":"#/components/schemas/ErrorAborted"},{"$ref":"#/components/schemas/ErrorGeoblocked"},{"$ref":"#/components/schemas/ErrorInvalidArgument"},{"$ref":"#/components/schemas/ErrorUnavailable"},{"$ref":"#/components/schemas/ErrorQueryFailed"},{"$ref":"#/components/schemas/ErrorNotFound"},{"$ref":"#/components/schemas/ErrorInsufficientFee"}]}}}},"5XX":{"description":"Error del servidor","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorWebrpcBadResponse"},{"$ref":"#/components/schemas/ErrorWebrpcServerPanic"},{"$ref":"#/components/schemas/ErrorWebrpcInternalError"}]}}}}},"security":[{"ApiKeyAuth":["AQAAAAAAAEGvyZiWA9FMslYeG_yayXaHnSI"],"BearerAuth":[]}]}}},"servers":[{"url":"https://amoy-relayer.sequence.app","description":"Amoy Relayer"},{"url":"https://apechain-relayer.sequence.app","description":"Apechain Relayer"},{"url":"https://apechain-testnet-relayer.sequence.app","description":"Apechain-Testnet Relayer"},{"url":"https://arbitrum-relayer.sequence.app","description":"Arbitrum Relayer"},{"url":"https://arbitrum-nova-relayer.sequence.app","description":"Arbitrum-Nova Relayer"},{"url":"https://arbitrum-sepolia-relayer.sequence.app","description":"Arbitrum-Sepolia Relayer"},{"url":"https://avalanche-relayer.sequence.app","description":"Avalanche Relayer"},{"url":"https://avalanche-testnet-relayer.sequence.app","description":"Avalanche-Testnet Relayer"},{"url":"https://b3-relayer.sequence.app","description":"B3 Relayer"},{"url":"https://b3-sepolia-relayer.sequence.app","description":"B3-Sepolia Relayer"},{"url":"https://base-relayer.sequence.app","description":"Base Relayer"},{"url":"https://base-sepolia-relayer.sequence.app","description":"Base-Sepolia Relayer"},{"url":"https://blast-relayer.sequence.app","description":"Blast Relayer"},{"url":"https://blast-sepolia-relayer.sequence.app","description":"Blast-Sepolia Relayer"},{"url":"https://bsc-relayer.sequence.app","description":"Bsc Relayer"},{"url":"https://bsc-testnet-relayer.sequence.app","description":"Bsc-Testnet Relayer"},{"url":"https://gnosis-relayer.sequence.app","description":"Gnosis Relayer"},{"url":"https://homeverse-relayer.sequence.app","description":"Homeverse Relayer"},{"url":"https://homeverse-testnet-relayer.sequence.app","description":"Homeverse-Testnet Relayer"},{"url":"https://immutable-zkevm-relayer.sequence.app","description":"Immutable-Zkevm Relayer"},{"url":"https://immutable-zkevm-testnet-relayer.sequence.app","description":"Immutable-Zkevm-Testnet Relayer"},{"url":"https://laos-relayer.sequence.app","description":"Laos Relayer"},{"url":"https://laos-sigma-testnet-relayer.sequence.app","description":"Laos-Sigma-Testnet Relayer"},{"url":"https://mainnet-relayer.sequence.app","description":"Mainnet Relayer"},{"url":"https://optimism-relayer.sequence.app","description":"Optimism Relayer"},{"url":"https://optimism-sepolia-relayer.sequence.app","description":"Optimism-Sepolia Relayer"},{"url":"https://polygon-relayer.sequence.app","description":"Polygon Relayer"},{"url":"https://polygon-zkevm-relayer.sequence.app","description":"Polygon-Zkevm Relayer"},{"url":"https://rootnet-relayer.sequence.app","description":"Rootnet Relayer"},{"url":"https://rootnet-porcini-relayer.sequence.app","description":"Rootnet-Porcini Relayer"},{"url":"https://sepolia-relayer.sequence.app","description":"Sepolia Relayer"},{"url":"https://skale-nebula-relayer.sequence.app","description":"Skale-Nebula Relayer"},{"url":"https://skale-nebula-testnet-relayer.sequence.app","description":"Skale-Nebula-Testnet Relayer"},{"url":"https://soneium-minato-relayer.sequence.app","description":"Soneium-Minato Relayer"},{"url":"https://soneium-relayer.sequence.app","description":"Soneium Relayer"},{"url":"https://toy-testnet-relayer.sequence.app","description":"Toy-Testnet Relayer"},{"url":"https://xai-relayer.sequence.app","description":"Xai Relayer"},{"url":"https://xai-sepolia-relayer.sequence.app","description":"Xai-Sepolia Relayer"},{"url":"https://xr-sepolia-relayer.sequence.app","description":"Xr-Sepolia Relayer"}]} \ No newline at end of file diff --git a/es/solutions/builder/gas-sponsorship.mdx b/es/solutions/builder/gas-sponsorship.mdx index cf7fafc9..0d974abe 100644 --- a/es/solutions/builder/gas-sponsorship.mdx +++ b/es/solutions/builder/gas-sponsorship.mdx @@ -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: ` — desde **Settings → API Keys → Public API Access Keys** en Builder. +- `Authorization: Bearer ` — 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. + + + 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. + + +### 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. diff --git a/ja/api-references/transactions/endpoints/add-gas-sponsor.mdx b/ja/api-references/transactions/endpoints/add-gas-sponsor.mdx index 440895f2..7c09ebf1 100644 --- a/ja/api-references/transactions/endpoints/add-gas-sponsor.mdx +++ b/ja/api-references/transactions/endpoints/add-gas-sponsor.mdx @@ -1,4 +1,61 @@ --- title: ガススポンサーを追加 openapi: ./relayer-api.json post /rpc/Relayer/AddGasSponsor ---- \ No newline at end of file +--- + +## 概要 +`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 ` | Sequence Builder → **設定 → APIキー → Admin API Secret Keys** | + +アクセスキーのみ送信した場合は `403 PermissionDenied` が返されます。シークレットキーのみ送信した場合は `401 AccessKeyNotFound` が返されます。両方のキーが必要です。 + + + Admin API Secret Key は特権的なJWT認証情報です。信頼できるバックエンドのみで使用し、ブラウザやモバイルアプリ、公開リポジトリでは絶対に公開しないでください。 + + +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` が不足しているか、形式が正しくありません。 | \ No newline at end of file diff --git a/ja/api-references/transactions/endpoints/relayer-api.json b/ja/api-references/transactions/endpoints/relayer-api.json index 0c768203..46d87749 100644 --- a/ja/api-references/transactions/endpoints/relayer-api.json +++ b/ja/api-references/transactions/endpoints/relayer-api.json @@ -1 +1 @@ -{"components":{"schemas":{"ErrorWebrpcEndpoint":{"type":"object","required":["エラー","コード","メッセージ","ステータス"],"properties":{"error":{"type":"string","example":"Webrpcエンドポイント"},"code":{"type":"number","example":"0"},"msg":{"type":"string","example":"エンドポイントエラー"},"cause":{"type":"string"},"status":{"type":"number","example":"400"}}},"ErrorWebrpcRequestFailed":{"type":"object","required":["エラー","コード","メッセージ","ステータス"],"properties":{"error":{"type":"string","example":"Webrpcリクエスト失敗"},"code":{"type":"number","example":"-1"},"msg":{"type":"string","example":"リクエスト失敗"},"cause":{"type":"string"},"status":{"type":"number","example":"400"}}},"ErrorWebrpcBadRoute":{"type":"object","required":["エラー","コード","メッセージ","ステータス"],"properties":{"error":{"type":"string","example":"Webrpc不正ルート"},"code":{"type":"number","example":"-2"},"msg":{"type":"string","example":"不正なルート"},"cause":{"type":"string"},"status":{"type":"number","example":"404"}}},"ErrorWebrpcBadMethod":{"type":"object","required":["エラー","コード","メッセージ","ステータス"],"properties":{"error":{"type":"string","example":"Webrpc不正メソッド"},"code":{"type":"number","example":"-3"},"msg":{"type":"string","example":"不正なメソッド"},"cause":{"type":"string"},"status":{"type":"number","example":"405"}}},"ErrorWebrpcBadRequest":{"type":"object","required":["エラー","コード","メッセージ","ステータス"],"properties":{"error":{"type":"string","example":"Webrpc不正リクエスト"},"code":{"type":"number","example":"-4"},"msg":{"type":"string","example":"不正なリクエスト"},"cause":{"type":"string"},"status":{"type":"number","example":"400"}}},"ErrorWebrpcBadResponse":{"type":"object","required":["エラー","コード","メッセージ","ステータス"],"properties":{"error":{"type":"string","example":"Webrpc不正レスポンス"},"code":{"type":"number","example":"-5"},"msg":{"type":"string","example":"不正なレスポンス"},"cause":{"type":"string"},"status":{"type":"number","example":"500"}}},"ErrorWebrpcServerPanic":{"type":"object","required":["エラー","コード","メッセージ","ステータス"],"properties":{"error":{"type":"string","example":"Webrpcサーバーパニック"},"code":{"type":"number","example":"-6"},"msg":{"type":"string","example":"サーバーパニック"},"cause":{"type":"string"},"status":{"type":"number","example":"500"}}},"ErrorWebrpcInternalError":{"type":"object","required":["エラー","コード","メッセージ","ステータス"],"properties":{"error":{"type":"string","example":"Webrpc内部エラー"},"code":{"type":"number","example":"-7"},"msg":{"type":"string","example":"内部エラー"},"cause":{"type":"string"},"status":{"type":"number","example":"500"}}},"ErrorWebrpcClientDisconnected":{"type":"object","required":["エラー","コード","メッセージ","ステータス"],"properties":{"error":{"type":"string","example":"Webrpcクライアント切断"},"code":{"type":"number","example":"-8"},"msg":{"type":"string","example":"クライアント切断"},"cause":{"type":"string"},"status":{"type":"number","example":"400"}}},"ErrorWebrpcStreamLost":{"type":"object","required":["エラー","コード","メッセージ","ステータス"],"properties":{"error":{"type":"string","example":"Webrpcストリーム消失"},"code":{"type":"number","example":"-9"},"msg":{"type":"string","example":"ストリーム消失"},"cause":{"type":"string"},"status":{"type":"number","example":"400"}}},"ErrorWebrpcStreamFinished":{"type":"object","required":["エラー","コード","メッセージ","ステータス"],"properties":{"error":{"type":"string","example":"Webrpcストリーム終了"},"code":{"type":"number","example":"-10"},"msg":{"type":"string","example":"ストリーム終了"},"cause":{"type":"string"},"status":{"type":"number","example":"200"}}},"ErrorUnauthorized":{"type":"object","required":["エラー","コード","メッセージ","ステータス"],"properties":{"error":{"type":"string","example":"認証されていません"},"code":{"type":"number","example":"1000"},"msg":{"type":"string","example":"認証されていないアクセス"},"cause":{"type":"string"},"status":{"type":"number","example":"401"}}},"ErrorPermissionDenied":{"type":"object","required":["エラー","コード","メッセージ","ステータス"],"properties":{"error":{"type":"string","example":"権限拒否"},"code":{"type":"number","example":"1001"},"msg":{"type":"string","example":"権限がありません"},"cause":{"type":"string"},"status":{"type":"number","example":"403"}}},"ErrorMethodNotFound":{"type":"object","required":["エラー","コード","メッセージ","ステータス"],"properties":{"error":{"type":"string","example":"メソッドが見つかりません"},"code":{"type":"number","example":"1003"},"msg":{"type":"string","example":"メソッドが見つかりません"},"cause":{"type":"string"},"status":{"type":"number","example":"404"}}},"ErrorRequestConflict":{"type":"object","required":["エラー","コード","メッセージ","ステータス"],"properties":{"error":{"type":"string","example":"リクエスト競合"},"code":{"type":"number","example":"1004"},"msg":{"type":"string","example":"対象リソースとの競合"},"cause":{"type":"string"},"status":{"type":"number","example":"409"}}},"ErrorAborted":{"type":"object","required":["エラー","コード","メッセージ","ステータス"],"properties":{"error":{"type":"string","example":"中断されました"},"code":{"type":"number","example":"1005"},"msg":{"type":"string","example":"リクエストが中断されました"},"cause":{"type":"string"},"status":{"type":"number","example":"400"}}},"ErrorGeoblocked":{"type":"object","required":["エラー","コード","メッセージ","ステータス"],"properties":{"error":{"type":"string","example":"地域制限"},"code":{"type":"number","example":"1006"},"msg":{"type":"string","example":"地域制限エリア"},"cause":{"type":"string"},"status":{"type":"number","example":"451"}}},"ErrorInvalidArgument":{"type":"object","required":["エラー","コード","メッセージ","ステータス"],"properties":{"error":{"type":"string","example":"無効な引数"},"code":{"type":"number","example":"2001"},"msg":{"type":"string","example":"無効な引数"},"cause":{"type":"string"},"status":{"type":"number","example":"400"}}},"ErrorUnavailable":{"type":"object","required":["エラー","コード","メッセージ","ステータス"],"properties":{"error":{"type":"string","example":"利用不可"},"code":{"type":"number","example":"2002"},"msg":{"type":"string","example":"リソースが利用できません"},"cause":{"type":"string"},"status":{"type":"number","example":"400"}}},"ErrorQueryFailed":{"type":"object","required":["エラー","コード","メッセージ","ステータス"],"properties":{"error":{"type":"string","example":"クエリ失敗"},"code":{"type":"number","example":"2003"},"msg":{"type":"string","example":"クエリ失敗"},"cause":{"type":"string"},"status":{"type":"number","example":"400"}}},"ErrorNotFound":{"type":"object","required":["エラー","コード","メッセージ","ステータス"],"properties":{"error":{"type":"string","example":"見つかりません"},"code":{"type":"number","example":"3000"},"msg":{"type":"string","example":"リソースが見つかりません"},"cause":{"type":"string"},"status":{"type":"number","example":"400"}}},"ErrorInsufficientFee":{"type":"object","required":["エラー","コード","メッセージ","ステータス"],"properties":{"error":{"type":"string","example":"手数料不足"},"code":{"type":"number","example":"3004"},"msg":{"type":"string","example":"手数料不足"},"cause":{"type":"string"},"status":{"type":"number","example":"402"}}},"ETHTxnStatus":{"type":"string","description":"サーバー側ではuintで表現されます","enum":["UNKNOWN","DROPPED","QUEUED","SENT","SUCCEEDED","PARTIALLY_FAILED","FAILED"]},"TransferType":{"type":"string","description":"サーバー側ではuint32で表現されます","enum":["SEND","RECEIVE","BRIDGE_DEPOSIT","BRIDGE_WITHDRAW","BURN","UNKNOWN"]},"FeeTokenType":{"type":"string","description":"サーバー側ではuint32で表現されます","enum":["UNKNOWN","ERC20_TOKEN","ERC1155_TOKEN"]},"SortOrder":{"type":"string","description":"サーバー側ではuint32で表現されます","enum":["DESC","ASC"]},"Version":{"type":"object","required":["webrpcバージョン","スキーマバージョン","スキーマハッシュ","アプリバージョン"],"properties":{"webrpcVersion":{"type":"string"},"schemaVersion":{"type":"string"},"schemaHash":{"type":"string"},"appVersion":{"type":"string"}}},"RuntimeStatus":{"type":"object","required":["正常","開始時刻","稼働時間","バージョン","ブランチ","コミットハッシュ","チェーンID","EIP1559を使用","送信者","チェック"],"properties":{"healthOK":{"type":"boolean"},"startTime":{"type":"string"},"uptime":{"type":"number"},"ver":{"type":"string"},"branch":{"type":"string"},"commitHash":{"type":"string"},"chainID":{"type":"number"},"useEIP1559":{"type":"boolean"},"senders":{"type":"配列","description":"[]SenderStatus","items":{"$ref":"#/components/schemas/SenderStatus"}},"checks":{"$ref":"#/components/schemas/RuntimeChecks"}}},"SenderStatus":{"type":"object","required":["インデックス","アドレス","イーサ残高","有効"],"properties":{"index":{"type":"number"},"address":{"type":"string"},"etherBalance":{"type":"number"},"active":{"type":"boolean"}}},"RuntimeChecks":{"type":"object"},"SequenceContext":{"type":"object","required":["ファクトリー","メインモジュール","メインモジュールアップグレード可","ゲストモジュール","ユーティリティ"],"properties":{"factory":{"type":"string"},"mainModule":{"type":"string"},"mainModuleUpgradable":{"type":"string"},"guestModule":{"type":"string"},"utils":{"type":"string"}}},"GasTank":{"type":"object","required":["id","chainId","name","現在の残高","無制限","手数料マークアップ係数","更新日時","作成日時"],"properties":{"id":{"type":"number"},"chainId":{"type":"number"},"name":{"type":"string"},"currentBalance":{"type":"number"},"unlimited":{"type":"boolean"},"feeMarkupFactor":{"type":"number"},"updatedAt":{"type":"string"},"createdAt":{"type":"string"}}},"GasTankBalanceAdjustment":{"type":"object","required":["ガスタンクID","ノンス","金額","合計残高","残高タイムスタンプ","作成日時"],"properties":{"gasTankId":{"type":"number"},"nonce":{"type":"number"},"amount":{"type":"number"},"totalBalance":{"type":"number"},"balanceTimestamp":{"type":"string"},"createdAt":{"type":"string"}}},"GasSponsor":{"type":"object","required":["id","ガスタンクID","プロジェクトID","chainId","アドレス","name","有効","更新日時","作成日時","削除日時"],"properties":{"id":{"type":"number"},"gasTankId":{"type":"number"},"projectId":{"type":"number"},"chainId":{"type":"number"},"address":{"type":"string"},"name":{"type":"string"},"active":{"type":"boolean"},"updatedAt":{"type":"string"},"createdAt":{"type":"string"},"deletedAt":{"type":"string"}}},"GasSponsorUsage":{"type":"object","required":["name","id","総ガス使用量","総トランザクション手数料","総トランザクション手数料(USD)","平均ガス価格","総トランザクション数","開始時刻","終了時刻"],"properties":{"name":{"type":"string"},"id":{"type":"number"},"totalGasUsed":{"type":"number"},"totalTxnFees":{"type":"number"},"totalTxnFeesUsd":{"type":"number"},"avgGasPrice":{"type":"number"},"totalTxns":{"type":"number"},"startTime":{"type":"string"},"endTime":{"type":"string"}}},"MetaTxn":{"type":"object","required":["chainId","ウォレットアドレス","コントラクト","入力"],"properties":{"chainId":{"type":"number"},"walletAddress":{"type":"string"},"contract":{"type":"string"},"input":{"type":"string"}}},"MetaTxnLog":{"type":"object","required":["id","chainId","プロジェクトID","トランザクションハッシュ","トランザクションノンス","トランザクションステータス","トランザクションリバート理由","再キュー数","キュー日時","送信日時","マイニング日時","ターゲット","入力","トランザクション引数","ウォレットアドレス","メタトランザクションノンス","ガスリミット","ガス価格","ガス使用量","ガス見積もり","USDレート","使用クレジット数","ホワイトリスト登録済み","更新日時","作成日時"],"properties":{"id":{"type":"number"},"chainId":{"type":"number"},"projectId":{"type":"number"},"txnHash":{"type":"string"},"txnNonce":{"type":"string"},"metaTxnID":{"type":"string"},"txnStatus":{"$ref":"#/components/schemas/ETHTxnStatus"},"txnRevertReason":{"type":"string"},"requeues":{"type":"number"},"queuedAt":{"type":"string"},"sentAt":{"type":"string"},"minedAt":{"type":"string"},"target":{"type":"string"},"input":{"type":"string"},"txnArgs":{"type":"object","description":"map","additionalProperties":{"type":"object"}},"txnReceipt":{"type":"object","description":"map","additionalProperties":{"type":"object"}},"walletAddress":{"type":"string"},"metaTxnNonce":{"type":"string"},"gasLimit":{"type":"number"},"gasPrice":{"type":"string"},"gasUsed":{"type":"number"},"gasEstimated":{"type":"number"},"gasFeeMarkup":{"type":"number"},"usdRate":{"type":"string"},"creditsUsed":{"type":"number"},"isWhitelisted":{"type":"boolean"},"gasSponsor":{"type":"number"},"gasTank":{"type":"number"},"updatedAt":{"type":"string"},"createdAt":{"type":"string"}}},"MetaTxnReceipt":{"type":"object","required":["id","ステータス","インデックス","ログ","レシート","トランザクションレシート"],"properties":{"id":{"type":"string"},"status":{"type":"string"},"revertReason":{"type":"string"},"index":{"type":"number"},"logs":{"type":"配列","description":"[]MetaTxnReceiptLog","items":{"$ref":"#/components/schemas/MetaTxnReceiptLog"}},"receipts":{"type":"配列","description":"[]MetaTxnReceipt","items":{"$ref":"#/components/schemas/MetaTxnReceipt"}},"txnReceipt":{"type":"string"}}},"MetaTxnReceiptLog":{"type":"object","required":["アドレス","トピック","data"],"properties":{"address":{"type":"string"},"topics":{"type":"配列","description":"[]string","items":{"type":"string"}},"data":{"type":"string"}}},"Transaction":{"type":"object","required":["ブロック番号","chainId","タイムスタンプ"],"properties":{"txnHash":{"type":"string"},"blockNumber":{"type":"number"},"chainId":{"type":"number"},"metaTxnID":{"type":"string"},"transfers":{"type":"配列","description":"[]TxnLogTransfer","items":{"$ref":"#/components/schemas/TxnLogTransfer"}},"users":{"type":"object","description":"map","additionalProperties":{"$ref":"#/components/schemas/TxnLogUser"}},"timestamp":{"type":"string"}}},"TxnLogUser":{"type":"object","required":["ユーザー名"],"properties":{"username":{"type":"string"}}},"TxnLogTransfer":{"type":"object","required":["転送タイプ","コントラクトアドレス","送信元","送信先","ID一覧","金額一覧"],"properties":{"transferType":{"$ref":"#/components/schemas/TransferType"},"contractAddress":{"type":"string"},"from":{"type":"string"},"to":{"type":"string"},"ids":{"type":"配列","description":"[]string","items":{"type":"string"}},"amounts":{"type":"配列","description":"[]string","items":{"type":"string"}}}},"SentTransactionsFilter":{"type":"object","properties":{"pending":{"type":"boolean"},"failed":{"type":"boolean"}}},"SimulateResult":{"type":"object","required":["実行済み","成功","ガス使用量","ガスリミット"],"properties":{"executed":{"type":"boolean"},"succeeded":{"type":"boolean"},"result":{"type":"string"},"reason":{"type":"string"},"gasUsed":{"type":"number"},"gasLimit":{"type":"number"}}},"FeeOption":{"type":"object","required":["トークン","送信先","値","ガスリミット"],"properties":{"token":{"$ref":"#/components/schemas/FeeToken"},"to":{"type":"string"},"value":{"type":"string"},"gasLimit":{"type":"number"}}},"FeeToken":{"type":"object","required":["chainId","name","シンボル","タイプ","ロゴURL"],"properties":{"chainId":{"type":"number"},"name":{"type":"string"},"symbol":{"type":"string"},"type":{"$ref":"#/components/schemas/FeeTokenType"},"decimals":{"type":"number"},"logoURL":{"type":"string"},"contractAddress":{"type":"string"},"tokenID":{"type":"string"}}},"Page":{"type":"object","properties":{"pageSize":{"type":"number"},"page":{"type":"number"},"more":{"type":"boolean"},"totalRecords":{"type":"number"},"column":{"type":"string"},"before":{"type":"object"},"after":{"type":"object"},"sort":{"type":"配列","description":"[]SortBy","items":{"$ref":"#/components/schemas/SortBy"}}}},"SortBy":{"type":"object","required":["カラム","順序"],"properties":{"column":{"type":"string"},"order":{"$ref":"#/components/schemas/SortOrder"}}},"Relayer_GetChainID_Request":{"type":"object"},"Relayer_FeeTokens_Request":{"type":"object"},"Relayer_FeeOptions_Request":{"type":"object","properties":{"wallet":{"type":"string"},"to":{"type":"string"},"data":{"type":"string"},"simulate":{"type":"boolean"}}},"Relayer_GetChainID_Response":{"type":"object","properties":{"chainID":{"type":"number"}}},"Relayer_FeeTokens_Response":{"type":"object","properties":{"isFeeRequired":{"type":"boolean"},"tokens":{"type":"配列","description":"[]FeeToken","items":{"$ref":"#/components/schemas/FeeToken"}}}},"Relayer_FeeOptions_Response":{"type":"object","properties":{"options":{"type":"配列","description":"[]FeeOption","items":{"$ref":"#/components/schemas/FeeOption"}},"sponsored":{"type":"boolean"},"quote":{"type":"string"}}},"Relayer_ListGasSponsors_Request":{"type":"object","properties":{"projectId":{"type":"number"},"page":{"$ref":"#/components/schemas/Page"}}},"Relayer_ListGasSponsors_Response":{"type":"object","properties":{"page":{"$ref":"#/components/schemas/Page"},"gasSponsors":{"type":"配列","description":"[]GasSponsor","items":{"$ref":"#/components/schemas/GasSponsor"}}}},"Relayer_AddGasSponsor_Request":{"type":"object","properties":{"projectId":{"type":"number"},"address":{"type":"string"},"name":{"type":"string"},"active":{"type":"boolean"}}},"Relayer_AddGasSponsor_Response":{"type":"object","properties":{"status":{"type":"boolean"},"gasSponsor":{"$ref":"#/components/schemas/GasSponsor"}}}},"securitySchemes":{"ApiKeyAuth":{"type":"APIキー","in":"ヘッダー","description":"Sequence Builderで取得したリクエスト認証用の公開プロジェクトアクセスキー。テストキー例:AQAAAAAAAEGvyZiWA9FMslYeG_yayXaHnSI","name":"X-Access-Key"},"BearerAuth":{"type":"http","scheme":"ベアラー","bearerFormat":"JWT","description":"Sequence Builderで取得したリクエスト認証用の秘密JWTトークン - 公開しないでください。"}}},"info":{"title":"リレイヤーAPI","version":""},"openapi":"3.0.0","paths":{"/rpc/Relayer/GetChainID":{"post":{"summary":"GetChainID","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Relayer_GetChainID_Request"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Relayer_GetChainID_Response"}}}},"4XX":{"description":"クライアントエラー","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorWebrpcEndpoint"},{"$ref":"#/components/schemas/ErrorWebrpcRequestFailed"},{"$ref":"#/components/schemas/ErrorWebrpcBadRoute"},{"$ref":"#/components/schemas/ErrorWebrpcBadMethod"},{"$ref":"#/components/schemas/ErrorWebrpcBadRequest"},{"$ref":"#/components/schemas/ErrorWebrpcClientDisconnected"},{"$ref":"#/components/schemas/ErrorWebrpcStreamLost"},{"$ref":"#/components/schemas/ErrorUnauthorized"},{"$ref":"#/components/schemas/ErrorPermissionDenied"},{"$ref":"#/components/schemas/ErrorMethodNotFound"},{"$ref":"#/components/schemas/ErrorRequestConflict"},{"$ref":"#/components/schemas/ErrorAborted"},{"$ref":"#/components/schemas/ErrorGeoblocked"},{"$ref":"#/components/schemas/ErrorInvalidArgument"},{"$ref":"#/components/schemas/ErrorUnavailable"},{"$ref":"#/components/schemas/ErrorQueryFailed"},{"$ref":"#/components/schemas/ErrorNotFound"},{"$ref":"#/components/schemas/ErrorInsufficientFee"}]}}}},"5XX":{"description":"サーバーエラー","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorWebrpcBadResponse"},{"$ref":"#/components/schemas/ErrorWebrpcServerPanic"},{"$ref":"#/components/schemas/ErrorWebrpcInternalError"}]}}}}},"security":[{"ApiKeyAuth":["AQAAAAAAAEGvyZiWA9FMslYeG_yayXaHnSI"]}]}},"/rpc/Relayer/FeeTokens":{"post":{"summary":"FeeTokens","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Relayer_FeeTokens_Request"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Relayer_FeeTokens_Response"}}}},"4XX":{"description":"クライアントエラー","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorWebrpcEndpoint"},{"$ref":"#/components/schemas/ErrorWebrpcRequestFailed"},{"$ref":"#/components/schemas/ErrorWebrpcBadRoute"},{"$ref":"#/components/schemas/ErrorWebrpcBadMethod"},{"$ref":"#/components/schemas/ErrorWebrpcBadRequest"},{"$ref":"#/components/schemas/ErrorWebrpcClientDisconnected"},{"$ref":"#/components/schemas/ErrorWebrpcStreamLost"},{"$ref":"#/components/schemas/ErrorUnauthorized"},{"$ref":"#/components/schemas/ErrorPermissionDenied"},{"$ref":"#/components/schemas/ErrorMethodNotFound"},{"$ref":"#/components/schemas/ErrorRequestConflict"},{"$ref":"#/components/schemas/ErrorAborted"},{"$ref":"#/components/schemas/ErrorGeoblocked"},{"$ref":"#/components/schemas/ErrorInvalidArgument"},{"$ref":"#/components/schemas/ErrorUnavailable"},{"$ref":"#/components/schemas/ErrorQueryFailed"},{"$ref":"#/components/schemas/ErrorNotFound"},{"$ref":"#/components/schemas/ErrorInsufficientFee"}]}}}},"5XX":{"description":"サーバーエラー","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorWebrpcBadResponse"},{"$ref":"#/components/schemas/ErrorWebrpcServerPanic"},{"$ref":"#/components/schemas/ErrorWebrpcInternalError"}]}}}}},"security":[{"ApiKeyAuth":["AQAAAAAAAEGvyZiWA9FMslYeG_yayXaHnSI"]}]}},"/rpc/Relayer/FeeOptions":{"post":{"summary":"FeeOptions","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Relayer_FeeOptions_Request"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Relayer_FeeOptions_Response"}}}},"4XX":{"description":"クライアントエラー","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorWebrpcEndpoint"},{"$ref":"#/components/schemas/ErrorWebrpcRequestFailed"},{"$ref":"#/components/schemas/ErrorWebrpcBadRoute"},{"$ref":"#/components/schemas/ErrorWebrpcBadMethod"},{"$ref":"#/components/schemas/ErrorWebrpcBadRequest"},{"$ref":"#/components/schemas/ErrorWebrpcClientDisconnected"},{"$ref":"#/components/schemas/ErrorWebrpcStreamLost"},{"$ref":"#/components/schemas/ErrorUnauthorized"},{"$ref":"#/components/schemas/ErrorPermissionDenied"},{"$ref":"#/components/schemas/ErrorMethodNotFound"},{"$ref":"#/components/schemas/ErrorRequestConflict"},{"$ref":"#/components/schemas/ErrorAborted"},{"$ref":"#/components/schemas/ErrorGeoblocked"},{"$ref":"#/components/schemas/ErrorInvalidArgument"},{"$ref":"#/components/schemas/ErrorUnavailable"},{"$ref":"#/components/schemas/ErrorQueryFailed"},{"$ref":"#/components/schemas/ErrorNotFound"},{"$ref":"#/components/schemas/ErrorInsufficientFee"}]}}}},"5XX":{"description":"サーバーエラー","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorWebrpcBadResponse"},{"$ref":"#/components/schemas/ErrorWebrpcServerPanic"},{"$ref":"#/components/schemas/ErrorWebrpcInternalError"}]}}}}},"security":[{"ApiKeyAuth":["AQAAAAAAAEGvyZiWA9FMslYeG_yayXaHnSI"]}]}},"/rpc/Relayer/ListGasSponsors":{"post":{"summary":"ガススポンサーシップ","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Relayer_ListGasSponsors_Request"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Relayer_ListGasSponsors_Response"}}}},"4XX":{"description":"クライアントエラー","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorWebrpcEndpoint"},{"$ref":"#/components/schemas/ErrorWebrpcRequestFailed"},{"$ref":"#/components/schemas/ErrorWebrpcBadRoute"},{"$ref":"#/components/schemas/ErrorWebrpcBadMethod"},{"$ref":"#/components/schemas/ErrorWebrpcBadRequest"},{"$ref":"#/components/schemas/ErrorWebrpcClientDisconnected"},{"$ref":"#/components/schemas/ErrorWebrpcStreamLost"},{"$ref":"#/components/schemas/ErrorUnauthorized"},{"$ref":"#/components/schemas/ErrorPermissionDenied"},{"$ref":"#/components/schemas/ErrorMethodNotFound"},{"$ref":"#/components/schemas/ErrorRequestConflict"},{"$ref":"#/components/schemas/ErrorAborted"},{"$ref":"#/components/schemas/ErrorGeoblocked"},{"$ref":"#/components/schemas/ErrorInvalidArgument"},{"$ref":"#/components/schemas/ErrorUnavailable"},{"$ref":"#/components/schemas/ErrorQueryFailed"},{"$ref":"#/components/schemas/ErrorNotFound"},{"$ref":"#/components/schemas/ErrorInsufficientFee"}]}}}},"5XX":{"description":"サーバーエラー","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorWebrpcBadResponse"},{"$ref":"#/components/schemas/ErrorWebrpcServerPanic"},{"$ref":"#/components/schemas/ErrorWebrpcInternalError"}]}}}}},"security":[{"ApiKeyAuth":["AQAAAAAAAEGvyZiWA9FMslYeG_yayXaHnSI"]}]}},"/rpc/Relayer/AddGasSponsor":{"post":{"summary":"","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Relayer_AddGasSponsor_Request"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Relayer_AddGasSponsor_Response"}}}},"4XX":{"description":"クライアントエラー","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorWebrpcEndpoint"},{"$ref":"#/components/schemas/ErrorWebrpcRequestFailed"},{"$ref":"#/components/schemas/ErrorWebrpcBadRoute"},{"$ref":"#/components/schemas/ErrorWebrpcBadMethod"},{"$ref":"#/components/schemas/ErrorWebrpcBadRequest"},{"$ref":"#/components/schemas/ErrorWebrpcClientDisconnected"},{"$ref":"#/components/schemas/ErrorWebrpcStreamLost"},{"$ref":"#/components/schemas/ErrorUnauthorized"},{"$ref":"#/components/schemas/ErrorPermissionDenied"},{"$ref":"#/components/schemas/ErrorMethodNotFound"},{"$ref":"#/components/schemas/ErrorRequestConflict"},{"$ref":"#/components/schemas/ErrorAborted"},{"$ref":"#/components/schemas/ErrorGeoblocked"},{"$ref":"#/components/schemas/ErrorInvalidArgument"},{"$ref":"#/components/schemas/ErrorUnavailable"},{"$ref":"#/components/schemas/ErrorQueryFailed"},{"$ref":"#/components/schemas/ErrorNotFound"},{"$ref":"#/components/schemas/ErrorInsufficientFee"}]}}}},"5XX":{"description":"サーバーエラー","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorWebrpcBadResponse"},{"$ref":"#/components/schemas/ErrorWebrpcServerPanic"},{"$ref":"#/components/schemas/ErrorWebrpcInternalError"}]}}}}},"security":[{"ApiKeyAuth":["AQAAAAAAAEGvyZiWA9FMslYeG_yayXaHnSI"]}]}}},"servers":[{"url":"https://amoy-relayer.sequence.app","description":"Amoyリレイヤー"},{"url":"https://apechain-relayer.sequence.app","description":"Apechainリレイヤー"},{"url":"https://apechain-testnet-relayer.sequence.app","description":"Apechain-Testnetリレイヤー"},{"url":"https://arbitrum-relayer.sequence.app","description":"Arbitrumリレイヤー"},{"url":"https://arbitrum-nova-relayer.sequence.app","description":"Arbitrum-Novaリレイヤー"},{"url":"https://arbitrum-sepolia-relayer.sequence.app","description":"Arbitrum-Sepoliaリレイヤー"},{"url":"https://avalanche-relayer.sequence.app","description":"Avalancheリレイヤー"},{"url":"https://avalanche-testnet-relayer.sequence.app","description":"Avalanche-Testnetリレイヤー"},{"url":"https://b3-relayer.sequence.app","description":"B3リレイヤー"},{"url":"https://b3-sepolia-relayer.sequence.app","description":"B3-Sepoliaリレイヤー"},{"url":"https://base-relayer.sequence.app","description":"Baseリレイヤー"},{"url":"https://base-sepolia-relayer.sequence.app","description":"Base-Sepoliaリレイヤー"},{"url":"https://blast-relayer.sequence.app","description":"Blastリレイヤー"},{"url":"https://blast-sepolia-relayer.sequence.app","description":"Blast-Sepoliaリレイヤー"},{"url":"https://bsc-relayer.sequence.app","description":"Bscリレイヤー"},{"url":"https://bsc-testnet-relayer.sequence.app","description":"Bsc-Testnetリレイヤー"},{"url":"https://gnosis-relayer.sequence.app","description":"Gnosisリレイヤー"},{"url":"https://homeverse-relayer.sequence.app","description":"Homeverseリレイヤー"},{"url":"https://homeverse-testnet-relayer.sequence.app","description":"Homeverse-Testnetリレイヤー"},{"url":"https://immutable-zkevm-relayer.sequence.app","description":"Immutable-Zkevmリレイヤー"},{"url":"https://immutable-zkevm-testnet-relayer.sequence.app","description":"Immutable-Zkevm-Testnetリレイヤー"},{"url":"https://laos-relayer.sequence.app","description":"Laosリレイヤー"},{"url":"https://laos-sigma-testnet-relayer.sequence.app","description":"Laos-Sigma-Testnetリレイヤー"},{"url":"https://mainnet-relayer.sequence.app","description":"Mainnetリレイヤー"},{"url":"https://optimism-relayer.sequence.app","description":"Optimismリレイヤー"},{"url":"https://optimism-sepolia-relayer.sequence.app","description":"Optimism-Sepoliaリレイヤー"},{"url":"https://polygon-relayer.sequence.app","description":"Polygonリレイヤー"},{"url":"https://polygon-zkevm-relayer.sequence.app","description":"Polygon-Zkevmリレイヤー"},{"url":"https://rootnet-relayer.sequence.app","description":"Rootnetリレイヤー"},{"url":"https://rootnet-porcini-relayer.sequence.app","description":"Rootnet-Porciniリレイヤー"},{"url":"https://sepolia-relayer.sequence.app","description":"Sepoliaリレイヤー"},{"url":"https://skale-nebula-relayer.sequence.app","description":"Skale-Nebulaリレイヤー"},{"url":"https://skale-nebula-testnet-relayer.sequence.app","description":"Skale-Nebula-Testnetリレイヤー"},{"url":"https://soneium-minato-relayer.sequence.app","description":"Soneium-Minatoリレイヤー"},{"url":"https://soneium-relayer.sequence.app","description":"Soneiumリレイヤー"},{"url":"https://toy-testnet-relayer.sequence.app","description":"Toy-Testnetリレイヤー"},{"url":"https://xai-relayer.sequence.app","description":"Xaiリレイヤー"},{"url":"https://xai-sepolia-relayer.sequence.app","description":"Xai-Sepoliaリレイヤー"},{"url":"https://xr-sepolia-relayer.sequence.app","description":"Xr-Sepoliaリレイヤー"}]} \ No newline at end of file +{"components":{"schemas":{"ErrorWebrpcEndpoint":{"type":"object","required":["エラー","コード","メッセージ","ステータス"],"properties":{"error":{"type":"string","example":"Webrpcエンドポイント"},"code":{"type":"number","example":"0"},"msg":{"type":"string","example":"エンドポイントエラー"},"cause":{"type":"string"},"status":{"type":"number","example":"400"}}},"ErrorWebrpcRequestFailed":{"type":"object","required":["エラー","コード","メッセージ","ステータス"],"properties":{"error":{"type":"string","example":"Webrpcリクエスト失敗"},"code":{"type":"number","example":"-1"},"msg":{"type":"string","example":"リクエスト失敗"},"cause":{"type":"string"},"status":{"type":"number","example":"400"}}},"ErrorWebrpcBadRoute":{"type":"object","required":["エラー","コード","メッセージ","ステータス"],"properties":{"error":{"type":"string","example":"Webrpc不正ルート"},"code":{"type":"number","example":"-2"},"msg":{"type":"string","example":"不正なルート"},"cause":{"type":"string"},"status":{"type":"number","example":"404"}}},"ErrorWebrpcBadMethod":{"type":"object","required":["エラー","コード","メッセージ","ステータス"],"properties":{"error":{"type":"string","example":"Webrpc不正メソッド"},"code":{"type":"number","example":"-3"},"msg":{"type":"string","example":"不正なメソッド"},"cause":{"type":"string"},"status":{"type":"number","example":"405"}}},"ErrorWebrpcBadRequest":{"type":"object","required":["エラー","コード","メッセージ","ステータス"],"properties":{"error":{"type":"string","example":"Webrpc不正リクエスト"},"code":{"type":"number","example":"-4"},"msg":{"type":"string","example":"不正なリクエスト"},"cause":{"type":"string"},"status":{"type":"number","example":"400"}}},"ErrorWebrpcBadResponse":{"type":"object","required":["エラー","コード","メッセージ","ステータス"],"properties":{"error":{"type":"string","example":"Webrpc不正レスポンス"},"code":{"type":"number","example":"-5"},"msg":{"type":"string","example":"不正なレスポンス"},"cause":{"type":"string"},"status":{"type":"number","example":"500"}}},"ErrorWebrpcServerPanic":{"type":"object","required":["エラー","コード","メッセージ","ステータス"],"properties":{"error":{"type":"string","example":"Webrpcサーバーパニック"},"code":{"type":"number","example":"-6"},"msg":{"type":"string","example":"サーバーパニック"},"cause":{"type":"string"},"status":{"type":"number","example":"500"}}},"ErrorWebrpcInternalError":{"type":"object","required":["エラー","コード","メッセージ","ステータス"],"properties":{"error":{"type":"string","example":"Webrpc内部エラー"},"code":{"type":"number","example":"-7"},"msg":{"type":"string","example":"内部エラー"},"cause":{"type":"string"},"status":{"type":"number","example":"500"}}},"ErrorWebrpcClientDisconnected":{"type":"object","required":["エラー","コード","メッセージ","ステータス"],"properties":{"error":{"type":"string","example":"Webrpcクライアント切断"},"code":{"type":"number","example":"-8"},"msg":{"type":"string","example":"クライアント切断"},"cause":{"type":"string"},"status":{"type":"number","example":"400"}}},"ErrorWebrpcStreamLost":{"type":"object","required":["エラー","コード","メッセージ","ステータス"],"properties":{"error":{"type":"string","example":"Webrpcストリーム消失"},"code":{"type":"number","example":"-9"},"msg":{"type":"string","example":"ストリーム消失"},"cause":{"type":"string"},"status":{"type":"number","example":"400"}}},"ErrorWebrpcStreamFinished":{"type":"object","required":["エラー","コード","メッセージ","ステータス"],"properties":{"error":{"type":"string","example":"Webrpcストリーム終了"},"code":{"type":"number","example":"-10"},"msg":{"type":"string","example":"ストリーム終了"},"cause":{"type":"string"},"status":{"type":"number","example":"200"}}},"ErrorUnauthorized":{"type":"object","required":["エラー","コード","メッセージ","ステータス"],"properties":{"error":{"type":"string","example":"認証されていません"},"code":{"type":"number","example":"1000"},"msg":{"type":"string","example":"認証されていないアクセス"},"cause":{"type":"string"},"status":{"type":"number","example":"401"}}},"ErrorPermissionDenied":{"type":"object","required":["エラー","コード","メッセージ","ステータス"],"properties":{"error":{"type":"string","example":"権限拒否"},"code":{"type":"number","example":"1001"},"msg":{"type":"string","example":"権限がありません"},"cause":{"type":"string"},"status":{"type":"number","example":"403"}}},"ErrorMethodNotFound":{"type":"object","required":["エラー","コード","メッセージ","ステータス"],"properties":{"error":{"type":"string","example":"メソッドが見つかりません"},"code":{"type":"number","example":"1003"},"msg":{"type":"string","example":"メソッドが見つかりません"},"cause":{"type":"string"},"status":{"type":"number","example":"404"}}},"ErrorRequestConflict":{"type":"object","required":["エラー","コード","メッセージ","ステータス"],"properties":{"error":{"type":"string","example":"リクエスト競合"},"code":{"type":"number","example":"1004"},"msg":{"type":"string","example":"対象リソースとの競合"},"cause":{"type":"string"},"status":{"type":"number","example":"409"}}},"ErrorAborted":{"type":"object","required":["エラー","コード","メッセージ","ステータス"],"properties":{"error":{"type":"string","example":"中断されました"},"code":{"type":"number","example":"1005"},"msg":{"type":"string","example":"リクエストが中断されました"},"cause":{"type":"string"},"status":{"type":"number","example":"400"}}},"ErrorGeoblocked":{"type":"object","required":["エラー","コード","メッセージ","ステータス"],"properties":{"error":{"type":"string","example":"地域制限"},"code":{"type":"number","example":"1006"},"msg":{"type":"string","example":"地域制限エリア"},"cause":{"type":"string"},"status":{"type":"number","example":"451"}}},"ErrorInvalidArgument":{"type":"object","required":["エラー","コード","メッセージ","ステータス"],"properties":{"error":{"type":"string","example":"無効な引数"},"code":{"type":"number","example":"2001"},"msg":{"type":"string","example":"無効な引数"},"cause":{"type":"string"},"status":{"type":"number","example":"400"}}},"ErrorUnavailable":{"type":"object","required":["エラー","コード","メッセージ","ステータス"],"properties":{"error":{"type":"string","example":"利用不可"},"code":{"type":"number","example":"2002"},"msg":{"type":"string","example":"リソースが利用できません"},"cause":{"type":"string"},"status":{"type":"number","example":"400"}}},"ErrorQueryFailed":{"type":"object","required":["エラー","コード","メッセージ","ステータス"],"properties":{"error":{"type":"string","example":"クエリ失敗"},"code":{"type":"number","example":"2003"},"msg":{"type":"string","example":"クエリ失敗"},"cause":{"type":"string"},"status":{"type":"number","example":"400"}}},"ErrorNotFound":{"type":"object","required":["エラー","コード","メッセージ","ステータス"],"properties":{"error":{"type":"string","example":"見つかりません"},"code":{"type":"number","example":"3000"},"msg":{"type":"string","example":"リソースが見つかりません"},"cause":{"type":"string"},"status":{"type":"number","example":"400"}}},"ErrorInsufficientFee":{"type":"object","required":["エラー","コード","メッセージ","ステータス"],"properties":{"error":{"type":"string","example":"手数料不足"},"code":{"type":"number","example":"3004"},"msg":{"type":"string","example":"手数料不足"},"cause":{"type":"string"},"status":{"type":"number","example":"402"}}},"ETHTxnStatus":{"type":"string","description":"サーバー側ではuintで表現されます","enum":["UNKNOWN","DROPPED","QUEUED","SENT","SUCCEEDED","PARTIALLY_FAILED","FAILED"]},"TransferType":{"type":"string","description":"サーバー側ではuint32で表現されます","enum":["SEND","RECEIVE","BRIDGE_DEPOSIT","BRIDGE_WITHDRAW","BURN","UNKNOWN"]},"FeeTokenType":{"type":"string","description":"サーバー側ではuint32で表現されます","enum":["UNKNOWN","ERC20_TOKEN","ERC1155_TOKEN"]},"SortOrder":{"type":"string","description":"サーバー側ではuint32で表現されます","enum":["DESC","ASC"]},"Version":{"type":"object","required":["webrpcバージョン","スキーマバージョン","スキーマハッシュ","アプリバージョン"],"properties":{"webrpcVersion":{"type":"string"},"schemaVersion":{"type":"string"},"schemaHash":{"type":"string"},"appVersion":{"type":"string"}}},"RuntimeStatus":{"type":"object","required":["正常","開始時刻","稼働時間","バージョン","ブランチ","コミットハッシュ","チェーンID","EIP1559を使用","送信者","チェック"],"properties":{"healthOK":{"type":"boolean"},"startTime":{"type":"string"},"uptime":{"type":"number"},"ver":{"type":"string"},"branch":{"type":"string"},"commitHash":{"type":"string"},"chainID":{"type":"number"},"useEIP1559":{"type":"boolean"},"senders":{"type":"配列","description":"[]SenderStatus","items":{"$ref":"#/components/schemas/SenderStatus"}},"checks":{"$ref":"#/components/schemas/RuntimeChecks"}}},"SenderStatus":{"type":"object","required":["インデックス","アドレス","イーサ残高","有効"],"properties":{"index":{"type":"number"},"address":{"type":"string"},"etherBalance":{"type":"number"},"active":{"type":"boolean"}}},"RuntimeChecks":{"type":"object"},"SequenceContext":{"type":"object","required":["ファクトリー","メインモジュール","メインモジュールアップグレード可","ゲストモジュール","ユーティリティ"],"properties":{"factory":{"type":"string"},"mainModule":{"type":"string"},"mainModuleUpgradable":{"type":"string"},"guestModule":{"type":"string"},"utils":{"type":"string"}}},"GasTank":{"type":"object","required":["id","chainId","name","現在の残高","無制限","手数料マークアップ係数","更新日時","作成日時"],"properties":{"id":{"type":"number"},"chainId":{"type":"number"},"name":{"type":"string"},"currentBalance":{"type":"number"},"unlimited":{"type":"boolean"},"feeMarkupFactor":{"type":"number"},"updatedAt":{"type":"string"},"createdAt":{"type":"string"}}},"GasTankBalanceAdjustment":{"type":"object","required":["ガスタンクID","ノンス","金額","合計残高","残高タイムスタンプ","作成日時"],"properties":{"gasTankId":{"type":"number"},"nonce":{"type":"number"},"amount":{"type":"number"},"totalBalance":{"type":"number"},"balanceTimestamp":{"type":"string"},"createdAt":{"type":"string"}}},"GasSponsor":{"type":"object","required":["id","ガスタンクID","プロジェクトID","chainId","アドレス","name","有効","更新日時","作成日時","削除日時"],"properties":{"id":{"type":"number"},"gasTankId":{"type":"number"},"projectId":{"type":"number"},"chainId":{"type":"number"},"address":{"type":"string"},"name":{"type":"string"},"active":{"type":"boolean"},"updatedAt":{"type":"string"},"createdAt":{"type":"string"},"deletedAt":{"type":"string"}}},"GasSponsorUsage":{"type":"object","required":["name","id","総ガス使用量","総トランザクション手数料","総トランザクション手数料(USD)","平均ガス価格","総トランザクション数","開始時刻","終了時刻"],"properties":{"name":{"type":"string"},"id":{"type":"number"},"totalGasUsed":{"type":"number"},"totalTxnFees":{"type":"number"},"totalTxnFeesUsd":{"type":"number"},"avgGasPrice":{"type":"number"},"totalTxns":{"type":"number"},"startTime":{"type":"string"},"endTime":{"type":"string"}}},"MetaTxn":{"type":"object","required":["chainId","ウォレットアドレス","コントラクト","入力"],"properties":{"chainId":{"type":"number"},"walletAddress":{"type":"string"},"contract":{"type":"string"},"input":{"type":"string"}}},"MetaTxnLog":{"type":"object","required":["id","chainId","プロジェクトID","トランザクションハッシュ","トランザクションノンス","トランザクションステータス","トランザクションリバート理由","再キュー数","キュー日時","送信日時","マイニング日時","ターゲット","入力","トランザクション引数","ウォレットアドレス","メタトランザクションノンス","ガスリミット","ガス価格","ガス使用量","ガス見積もり","USDレート","使用クレジット数","ホワイトリスト登録済み","更新日時","作成日時"],"properties":{"id":{"type":"number"},"chainId":{"type":"number"},"projectId":{"type":"number"},"txnHash":{"type":"string"},"txnNonce":{"type":"string"},"metaTxnID":{"type":"string"},"txnStatus":{"$ref":"#/components/schemas/ETHTxnStatus"},"txnRevertReason":{"type":"string"},"requeues":{"type":"number"},"queuedAt":{"type":"string"},"sentAt":{"type":"string"},"minedAt":{"type":"string"},"target":{"type":"string"},"input":{"type":"string"},"txnArgs":{"type":"object","description":"map","additionalProperties":{"type":"object"}},"txnReceipt":{"type":"object","description":"map","additionalProperties":{"type":"object"}},"walletAddress":{"type":"string"},"metaTxnNonce":{"type":"string"},"gasLimit":{"type":"number"},"gasPrice":{"type":"string"},"gasUsed":{"type":"number"},"gasEstimated":{"type":"number"},"gasFeeMarkup":{"type":"number"},"usdRate":{"type":"string"},"creditsUsed":{"type":"number"},"isWhitelisted":{"type":"boolean"},"gasSponsor":{"type":"number"},"gasTank":{"type":"number"},"updatedAt":{"type":"string"},"createdAt":{"type":"string"}}},"MetaTxnReceipt":{"type":"object","required":["id","ステータス","インデックス","ログ","レシート","トランザクションレシート"],"properties":{"id":{"type":"string"},"status":{"type":"string"},"revertReason":{"type":"string"},"index":{"type":"number"},"logs":{"type":"配列","description":"[]MetaTxnReceiptLog","items":{"$ref":"#/components/schemas/MetaTxnReceiptLog"}},"receipts":{"type":"配列","description":"[]MetaTxnReceipt","items":{"$ref":"#/components/schemas/MetaTxnReceipt"}},"txnReceipt":{"type":"string"}}},"MetaTxnReceiptLog":{"type":"object","required":["アドレス","トピック","data"],"properties":{"address":{"type":"string"},"topics":{"type":"配列","description":"[]string","items":{"type":"string"}},"data":{"type":"string"}}},"Transaction":{"type":"object","required":["ブロック番号","chainId","タイムスタンプ"],"properties":{"txnHash":{"type":"string"},"blockNumber":{"type":"number"},"chainId":{"type":"number"},"metaTxnID":{"type":"string"},"transfers":{"type":"配列","description":"[]TxnLogTransfer","items":{"$ref":"#/components/schemas/TxnLogTransfer"}},"users":{"type":"object","description":"map","additionalProperties":{"$ref":"#/components/schemas/TxnLogUser"}},"timestamp":{"type":"string"}}},"TxnLogUser":{"type":"object","required":["ユーザー名"],"properties":{"username":{"type":"string"}}},"TxnLogTransfer":{"type":"object","required":["転送タイプ","コントラクトアドレス","送信元","送信先","ID一覧","金額一覧"],"properties":{"transferType":{"$ref":"#/components/schemas/TransferType"},"contractAddress":{"type":"string"},"from":{"type":"string"},"to":{"type":"string"},"ids":{"type":"配列","description":"[]string","items":{"type":"string"}},"amounts":{"type":"配列","description":"[]string","items":{"type":"string"}}}},"SentTransactionsFilter":{"type":"object","properties":{"pending":{"type":"boolean"},"failed":{"type":"boolean"}}},"SimulateResult":{"type":"object","required":["実行済み","成功","ガス使用量","ガスリミット"],"properties":{"executed":{"type":"boolean"},"succeeded":{"type":"boolean"},"result":{"type":"string"},"reason":{"type":"string"},"gasUsed":{"type":"number"},"gasLimit":{"type":"number"}}},"FeeOption":{"type":"object","required":["トークン","送信先","値","ガスリミット"],"properties":{"token":{"$ref":"#/components/schemas/FeeToken"},"to":{"type":"string"},"value":{"type":"string"},"gasLimit":{"type":"number"}}},"FeeToken":{"type":"object","required":["chainId","name","シンボル","タイプ","ロゴURL"],"properties":{"chainId":{"type":"number"},"name":{"type":"string"},"symbol":{"type":"string"},"type":{"$ref":"#/components/schemas/FeeTokenType"},"decimals":{"type":"number"},"logoURL":{"type":"string"},"contractAddress":{"type":"string"},"tokenID":{"type":"string"}}},"Page":{"type":"object","properties":{"pageSize":{"type":"number"},"page":{"type":"number"},"more":{"type":"boolean"},"totalRecords":{"type":"number"},"column":{"type":"string"},"before":{"type":"object"},"after":{"type":"object"},"sort":{"type":"配列","description":"[]SortBy","items":{"$ref":"#/components/schemas/SortBy"}}}},"SortBy":{"type":"object","required":["カラム","順序"],"properties":{"column":{"type":"string"},"order":{"$ref":"#/components/schemas/SortOrder"}}},"Relayer_GetChainID_Request":{"type":"object"},"Relayer_FeeTokens_Request":{"type":"object"},"Relayer_FeeOptions_Request":{"type":"object","properties":{"wallet":{"type":"string"},"to":{"type":"string"},"data":{"type":"string"},"simulate":{"type":"boolean"}}},"Relayer_GetChainID_Response":{"type":"object","properties":{"chainID":{"type":"number"}}},"Relayer_FeeTokens_Response":{"type":"object","properties":{"isFeeRequired":{"type":"boolean"},"tokens":{"type":"配列","description":"[]FeeToken","items":{"$ref":"#/components/schemas/FeeToken"}}}},"Relayer_FeeOptions_Response":{"type":"object","properties":{"options":{"type":"配列","description":"[]FeeOption","items":{"$ref":"#/components/schemas/FeeOption"}},"sponsored":{"type":"boolean"},"quote":{"type":"string"}}},"Relayer_ListGasSponsors_Request":{"type":"object","properties":{"projectId":{"type":"number"},"page":{"$ref":"#/components/schemas/Page"}}},"Relayer_ListGasSponsors_Response":{"type":"object","properties":{"page":{"$ref":"#/components/schemas/Page"},"gasSponsors":{"type":"配列","description":"[]GasSponsor","items":{"$ref":"#/components/schemas/GasSponsor"}}}},"Relayer_AddGasSponsor_Request":{"type":"object","properties":{"projectId":{"type":"number"},"address":{"type":"string"},"name":{"type":"string"},"active":{"type":"boolean"}}},"Relayer_AddGasSponsor_Response":{"type":"object","properties":{"status":{"type":"boolean"},"gasSponsor":{"$ref":"#/components/schemas/GasSponsor"}}}},"securitySchemes":{"ApiKeyAuth":{"type":"APIキー","in":"ヘッダー","description":"Sequence Builderで取得したリクエスト認証用の公開プロジェクトアクセスキー。テストキー例:AQAAAAAAAEGvyZiWA9FMslYeG_yayXaHnSI","name":"X-Access-Key"},"BearerAuth":{"type":"http","scheme":"ベアラー","bearerFormat":"JWT","description":"Sequence Builderで取得したリクエスト認証用の秘密JWTトークン - 公開しないでください。"}}},"info":{"title":"リレイヤーAPI","version":""},"openapi":"3.0.0","paths":{"/rpc/Relayer/GetChainID":{"post":{"summary":"GetChainID","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Relayer_GetChainID_Request"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Relayer_GetChainID_Response"}}}},"4XX":{"description":"クライアントエラー","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorWebrpcEndpoint"},{"$ref":"#/components/schemas/ErrorWebrpcRequestFailed"},{"$ref":"#/components/schemas/ErrorWebrpcBadRoute"},{"$ref":"#/components/schemas/ErrorWebrpcBadMethod"},{"$ref":"#/components/schemas/ErrorWebrpcBadRequest"},{"$ref":"#/components/schemas/ErrorWebrpcClientDisconnected"},{"$ref":"#/components/schemas/ErrorWebrpcStreamLost"},{"$ref":"#/components/schemas/ErrorUnauthorized"},{"$ref":"#/components/schemas/ErrorPermissionDenied"},{"$ref":"#/components/schemas/ErrorMethodNotFound"},{"$ref":"#/components/schemas/ErrorRequestConflict"},{"$ref":"#/components/schemas/ErrorAborted"},{"$ref":"#/components/schemas/ErrorGeoblocked"},{"$ref":"#/components/schemas/ErrorInvalidArgument"},{"$ref":"#/components/schemas/ErrorUnavailable"},{"$ref":"#/components/schemas/ErrorQueryFailed"},{"$ref":"#/components/schemas/ErrorNotFound"},{"$ref":"#/components/schemas/ErrorInsufficientFee"}]}}}},"5XX":{"description":"サーバーエラー","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorWebrpcBadResponse"},{"$ref":"#/components/schemas/ErrorWebrpcServerPanic"},{"$ref":"#/components/schemas/ErrorWebrpcInternalError"}]}}}}},"security":[{"ApiKeyAuth":["AQAAAAAAAEGvyZiWA9FMslYeG_yayXaHnSI"]}]}},"/rpc/Relayer/FeeTokens":{"post":{"summary":"FeeTokens","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Relayer_FeeTokens_Request"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Relayer_FeeTokens_Response"}}}},"4XX":{"description":"クライアントエラー","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorWebrpcEndpoint"},{"$ref":"#/components/schemas/ErrorWebrpcRequestFailed"},{"$ref":"#/components/schemas/ErrorWebrpcBadRoute"},{"$ref":"#/components/schemas/ErrorWebrpcBadMethod"},{"$ref":"#/components/schemas/ErrorWebrpcBadRequest"},{"$ref":"#/components/schemas/ErrorWebrpcClientDisconnected"},{"$ref":"#/components/schemas/ErrorWebrpcStreamLost"},{"$ref":"#/components/schemas/ErrorUnauthorized"},{"$ref":"#/components/schemas/ErrorPermissionDenied"},{"$ref":"#/components/schemas/ErrorMethodNotFound"},{"$ref":"#/components/schemas/ErrorRequestConflict"},{"$ref":"#/components/schemas/ErrorAborted"},{"$ref":"#/components/schemas/ErrorGeoblocked"},{"$ref":"#/components/schemas/ErrorInvalidArgument"},{"$ref":"#/components/schemas/ErrorUnavailable"},{"$ref":"#/components/schemas/ErrorQueryFailed"},{"$ref":"#/components/schemas/ErrorNotFound"},{"$ref":"#/components/schemas/ErrorInsufficientFee"}]}}}},"5XX":{"description":"サーバーエラー","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorWebrpcBadResponse"},{"$ref":"#/components/schemas/ErrorWebrpcServerPanic"},{"$ref":"#/components/schemas/ErrorWebrpcInternalError"}]}}}}},"security":[{"ApiKeyAuth":["AQAAAAAAAEGvyZiWA9FMslYeG_yayXaHnSI"]}]}},"/rpc/Relayer/FeeOptions":{"post":{"summary":"FeeOptions","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Relayer_FeeOptions_Request"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Relayer_FeeOptions_Response"}}}},"4XX":{"description":"クライアントエラー","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorWebrpcEndpoint"},{"$ref":"#/components/schemas/ErrorWebrpcRequestFailed"},{"$ref":"#/components/schemas/ErrorWebrpcBadRoute"},{"$ref":"#/components/schemas/ErrorWebrpcBadMethod"},{"$ref":"#/components/schemas/ErrorWebrpcBadRequest"},{"$ref":"#/components/schemas/ErrorWebrpcClientDisconnected"},{"$ref":"#/components/schemas/ErrorWebrpcStreamLost"},{"$ref":"#/components/schemas/ErrorUnauthorized"},{"$ref":"#/components/schemas/ErrorPermissionDenied"},{"$ref":"#/components/schemas/ErrorMethodNotFound"},{"$ref":"#/components/schemas/ErrorRequestConflict"},{"$ref":"#/components/schemas/ErrorAborted"},{"$ref":"#/components/schemas/ErrorGeoblocked"},{"$ref":"#/components/schemas/ErrorInvalidArgument"},{"$ref":"#/components/schemas/ErrorUnavailable"},{"$ref":"#/components/schemas/ErrorQueryFailed"},{"$ref":"#/components/schemas/ErrorNotFound"},{"$ref":"#/components/schemas/ErrorInsufficientFee"}]}}}},"5XX":{"description":"サーバーエラー","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorWebrpcBadResponse"},{"$ref":"#/components/schemas/ErrorWebrpcServerPanic"},{"$ref":"#/components/schemas/ErrorWebrpcInternalError"}]}}}}},"security":[{"ApiKeyAuth":["AQAAAAAAAEGvyZiWA9FMslYeG_yayXaHnSI"]}]}},"/rpc/Relayer/ListGasSponsors":{"post":{"summary":"ガススポンサーシップ","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Relayer_ListGasSponsors_Request"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Relayer_ListGasSponsors_Response"}}}},"4XX":{"description":"クライアントエラー","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorWebrpcEndpoint"},{"$ref":"#/components/schemas/ErrorWebrpcRequestFailed"},{"$ref":"#/components/schemas/ErrorWebrpcBadRoute"},{"$ref":"#/components/schemas/ErrorWebrpcBadMethod"},{"$ref":"#/components/schemas/ErrorWebrpcBadRequest"},{"$ref":"#/components/schemas/ErrorWebrpcClientDisconnected"},{"$ref":"#/components/schemas/ErrorWebrpcStreamLost"},{"$ref":"#/components/schemas/ErrorUnauthorized"},{"$ref":"#/components/schemas/ErrorPermissionDenied"},{"$ref":"#/components/schemas/ErrorMethodNotFound"},{"$ref":"#/components/schemas/ErrorRequestConflict"},{"$ref":"#/components/schemas/ErrorAborted"},{"$ref":"#/components/schemas/ErrorGeoblocked"},{"$ref":"#/components/schemas/ErrorInvalidArgument"},{"$ref":"#/components/schemas/ErrorUnavailable"},{"$ref":"#/components/schemas/ErrorQueryFailed"},{"$ref":"#/components/schemas/ErrorNotFound"},{"$ref":"#/components/schemas/ErrorInsufficientFee"}]}}}},"5XX":{"description":"サーバーエラー","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorWebrpcBadResponse"},{"$ref":"#/components/schemas/ErrorWebrpcServerPanic"},{"$ref":"#/components/schemas/ErrorWebrpcInternalError"}]}}}}},"security":[{"ApiKeyAuth":["AQAAAAAAAEGvyZiWA9FMslYeG_yayXaHnSI"]}]}},"/rpc/Relayer/AddGasSponsor":{"post":{"summary":"ガススポンサーを追加","description":"指定されたプロジェクトに対して、リレイヤーのチェーン上で新しいガススポンサー(ウォレット、コントラクト、または任意のアドレス)を登録します。これは特権的な書き込み操作であり、**パブリックAPIアクセスキー**(`X-Access-Key`として送信)と**管理者APIシークレットキー**(`Authorization: Bearer `として送信)の**両方**が必要です。どちらか一方のみを送信した場合は、`401 AccessKeyNotFound`または`403 PermissionDenied`が返されます。両方のキーはSequence Builderのプロジェクト設定 → APIキーのページから生成でき、信頼できるバックエンドのみで使用してください。","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Relayer_AddGasSponsor_Request"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Relayer_AddGasSponsor_Response"}}}},"4XX":{"description":"クライアントエラー","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorWebrpcEndpoint"},{"$ref":"#/components/schemas/ErrorWebrpcRequestFailed"},{"$ref":"#/components/schemas/ErrorWebrpcBadRoute"},{"$ref":"#/components/schemas/ErrorWebrpcBadMethod"},{"$ref":"#/components/schemas/ErrorWebrpcBadRequest"},{"$ref":"#/components/schemas/ErrorWebrpcClientDisconnected"},{"$ref":"#/components/schemas/ErrorWebrpcStreamLost"},{"$ref":"#/components/schemas/ErrorUnauthorized"},{"$ref":"#/components/schemas/ErrorPermissionDenied"},{"$ref":"#/components/schemas/ErrorMethodNotFound"},{"$ref":"#/components/schemas/ErrorRequestConflict"},{"$ref":"#/components/schemas/ErrorAborted"},{"$ref":"#/components/schemas/ErrorGeoblocked"},{"$ref":"#/components/schemas/ErrorInvalidArgument"},{"$ref":"#/components/schemas/ErrorUnavailable"},{"$ref":"#/components/schemas/ErrorQueryFailed"},{"$ref":"#/components/schemas/ErrorNotFound"},{"$ref":"#/components/schemas/ErrorInsufficientFee"}]}}}},"5XX":{"description":"サーバーエラー","content":{"application/json":{"schema":{"oneOf":[{"$ref":"#/components/schemas/ErrorWebrpcBadResponse"},{"$ref":"#/components/schemas/ErrorWebrpcServerPanic"},{"$ref":"#/components/schemas/ErrorWebrpcInternalError"}]}}}}},"security":[{"ApiKeyAuth":["AQAAAAAAAEGvyZiWA9FMslYeG_yayXaHnSI"],"BearerAuth":[]}]}}},"servers":[{"url":"https://amoy-relayer.sequence.app","description":"Amoyリレイヤー"},{"url":"https://apechain-relayer.sequence.app","description":"Apechainリレイヤー"},{"url":"https://apechain-testnet-relayer.sequence.app","description":"Apechain-Testnetリレイヤー"},{"url":"https://arbitrum-relayer.sequence.app","description":"Arbitrumリレイヤー"},{"url":"https://arbitrum-nova-relayer.sequence.app","description":"Arbitrum-Novaリレイヤー"},{"url":"https://arbitrum-sepolia-relayer.sequence.app","description":"Arbitrum-Sepoliaリレイヤー"},{"url":"https://avalanche-relayer.sequence.app","description":"Avalancheリレイヤー"},{"url":"https://avalanche-testnet-relayer.sequence.app","description":"Avalanche-Testnetリレイヤー"},{"url":"https://b3-relayer.sequence.app","description":"B3リレイヤー"},{"url":"https://b3-sepolia-relayer.sequence.app","description":"B3-Sepoliaリレイヤー"},{"url":"https://base-relayer.sequence.app","description":"Baseリレイヤー"},{"url":"https://base-sepolia-relayer.sequence.app","description":"Base-Sepoliaリレイヤー"},{"url":"https://blast-relayer.sequence.app","description":"Blastリレイヤー"},{"url":"https://blast-sepolia-relayer.sequence.app","description":"Blast-Sepoliaリレイヤー"},{"url":"https://bsc-relayer.sequence.app","description":"Bscリレイヤー"},{"url":"https://bsc-testnet-relayer.sequence.app","description":"Bsc-Testnetリレイヤー"},{"url":"https://gnosis-relayer.sequence.app","description":"Gnosisリレイヤー"},{"url":"https://homeverse-relayer.sequence.app","description":"Homeverseリレイヤー"},{"url":"https://homeverse-testnet-relayer.sequence.app","description":"Homeverse-Testnetリレイヤー"},{"url":"https://immutable-zkevm-relayer.sequence.app","description":"Immutable-Zkevmリレイヤー"},{"url":"https://immutable-zkevm-testnet-relayer.sequence.app","description":"Immutable-Zkevm-Testnetリレイヤー"},{"url":"https://laos-relayer.sequence.app","description":"Laosリレイヤー"},{"url":"https://laos-sigma-testnet-relayer.sequence.app","description":"Laos-Sigma-Testnetリレイヤー"},{"url":"https://mainnet-relayer.sequence.app","description":"Mainnetリレイヤー"},{"url":"https://optimism-relayer.sequence.app","description":"Optimismリレイヤー"},{"url":"https://optimism-sepolia-relayer.sequence.app","description":"Optimism-Sepoliaリレイヤー"},{"url":"https://polygon-relayer.sequence.app","description":"Polygonリレイヤー"},{"url":"https://polygon-zkevm-relayer.sequence.app","description":"Polygon-Zkevmリレイヤー"},{"url":"https://rootnet-relayer.sequence.app","description":"Rootnetリレイヤー"},{"url":"https://rootnet-porcini-relayer.sequence.app","description":"Rootnet-Porciniリレイヤー"},{"url":"https://sepolia-relayer.sequence.app","description":"Sepoliaリレイヤー"},{"url":"https://skale-nebula-relayer.sequence.app","description":"Skale-Nebulaリレイヤー"},{"url":"https://skale-nebula-testnet-relayer.sequence.app","description":"Skale-Nebula-Testnetリレイヤー"},{"url":"https://soneium-minato-relayer.sequence.app","description":"Soneium-Minatoリレイヤー"},{"url":"https://soneium-relayer.sequence.app","description":"Soneiumリレイヤー"},{"url":"https://toy-testnet-relayer.sequence.app","description":"Toy-Testnetリレイヤー"},{"url":"https://xai-relayer.sequence.app","description":"Xaiリレイヤー"},{"url":"https://xai-sepolia-relayer.sequence.app","description":"Xai-Sepoliaリレイヤー"},{"url":"https://xr-sepolia-relayer.sequence.app","description":"Xr-Sepoliaリレイヤー"}]} \ No newline at end of file diff --git a/ja/solutions/builder/gas-sponsorship.mdx b/ja/solutions/builder/gas-sponsorship.mdx index b029ff01..41ccd676 100644 --- a/ja/solutions/builder/gas-sponsorship.mdx +++ b/ja/solutions/builder/gas-sponsorship.mdx @@ -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: ` — Builder の **設定 → APIキー → Public API Access Keys** から取得します。 +- `Authorization: Bearer ` — Builder の **設定 → APIキー → Admin API Secret Keys** から取得します。 + +どちらか一方のみ送信した場合は、`401 AccessKeyNotFound`(アクセスキー不足)または `403 PermissionDenied`(シークレットキー不足)が返されます。APIキーのページでどちらかが空の場合は、先にキーを作成してください。 + + + Admin API Secret Key は特権的なJWT認証情報です。信頼できるバックエンドのみで使用し、ブラウザやモバイルアプリ、公開リポジトリでは絶対に公開しないでください。 + + +### 例 + +```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し、あなたが承認した場合のみスポンサーします。