---
title: "Updates a relayer's information based on the provided update request."
method: PATCH
path: "/api/v1/relayers/{relayer_id}"
tags: ["Relayers"]
---

# Updates a relayer's information based on the provided update request.

`PATCH /api/v1/relayers/{relayer_id}`

## Path parameters

- `relayer_id` string, required

## Request body

- UpdateRelayerRequest
  - `custom_rpc_urls` RpcConfig[], nullable
    - `url` string, required — The RPC endpoint URL.
    - `weight` integer — The weight of this endpoint in the weighted round-robin selection. Defaults to DEFAULT_RPC_WEIGHT (100). Should be between 0 and 100.
  - `name` string, nullable
  - `notification_id` string
  - `paused` boolean
  - `policies` union — Policy types for create requests - deserialized based on network_type from parent request
    - object
      - `Evm` RelayerEvmPolicy, required — EVM-specific relayer policy configuration
        - `eip1559_pricing` boolean, nullable
        - `gas_limit_estimation` boolean, nullable
        - `gas_price_cap` integer, nullable
        - `min_balance` integer, nullable
        - `private_transactions` boolean, nullable
        - `whitelist_receivers` string[], nullable
    - object
      - `Solana` RelayerSolanaPolicy, required — Solana-specific relayer policy configuration
        - `allowed_accounts` string[], nullable
        - `allowed_programs` string[], nullable
        - `allowed_tokens` SolanaAllowedTokensPolicy[], nullable
          - `decimals` integer
          - `max_allowed_fee` integer
          - `mint` string, required
          - `swap_config` SolanaAllowedTokensSwapConfig — Solana token swap configuration
            - `max_amount` integer — Maximum amount of tokens to swap. Optional.
            - `min_amount` integer — Minimum amount of tokens to swap. Optional.
            - `retain_min_amount` integer — Minimum amount of tokens to retain after swap. Optional.
            - `slippage_percentage` number, float — Conversion slippage percentage for token. Optional.
          - `symbol` string
        - `disallowed_accounts` string[], nullable
        - `fee_margin_percentage` number, float, nullable
        - `fee_payment_strategy` 'user' | 'relayer' — Solana fee payment strategy Determines who pays transaction fees: - `User`: User must include fee payment to relayer in transaction (for custom RPC methods) - `Relayer`: Relayer pays all transaction fees (recommended for send transaction endpoint) Default is `User`.
        - `max_allowed_fee_lamports` integer, nullable
        - `max_signatures` integer, nullable
        - `max_tx_data_size` integer, nullable
        - `min_balance` integer, nullable
        - `swap_config` RelayerSolanaSwapConfig — Solana swap policy configuration
          - `cron_schedule` string — Cron schedule for executing token swap logic to keep relayer funded. Optional.
          - `jupiter_swap_options` JupiterSwapOptions — Jupiter swap options
            - `dynamic_compute_unit_limit` boolean
            - `priority_fee_max_lamports` integer — Maximum priority fee (in lamports) for a transaction. Optional.
            - `priority_level` string — Priority. Optional.
          - `min_balance_threshold` integer — Min sol balance to execute token swap logic to keep relayer funded. Optional.
          - `strategy` 'jupiter-swap' | 'jupiter-ultra' | 'noop' — Solana swap strategy
    - object
      - `Stellar` RelayerStellarPolicy, required — Stellar-specific relayer policy configuration
        - `concurrent_transactions` boolean, nullable
        - `max_fee` integer, nullable
        - `min_balance` integer, nullable
        - `timeout_seconds` integer, nullable

## Response `200`

Relayer updated successfully

- ApiResponseRelayerResponse
  - `data` object — Relayer response model for API endpoints
    - `address` string
    - `custom_rpc_urls` RpcConfig[]
      - `url` string, required — The RPC endpoint URL.
      - `weight` integer — The weight of this endpoint in the weighted round-robin selection. Defaults to DEFAULT_RPC_WEIGHT (100). Should be between 0 and 100.
    - `disabled_reason` union — Reason for a relayer being disabled by the system This represents persistent state, converted from HealthCheckFailure when disabling
      - object — Nonce synchronization failed during initialization
        - `details` string, required — Nonce synchronization failed during initialization
        - `type` 'NonceSyncFailed', required
      - object — RPC endpoint validation failed
        - `details` string, required — RPC endpoint validation failed
        - `type` 'RpcValidationFailed', required
      - object — Balance check failed (below minimum threshold)
        - `details` string, required — Balance check failed (below minimum threshold)
        - `type` 'BalanceCheckFailed', required
      - object — Sequence number synchronization failed (Stellar)
        - `details` string, required — Sequence number synchronization failed (Stellar)
        - `type` 'SequenceSyncFailed', required
      - object — Multiple failures occurred simultaneously
        - `details` string[], required — Multiple failures occurred simultaneously
        - `type` 'Multiple', required
    - `id` string, required
    - `name` string, required
    - `network` string, required
    - `network_type` 'evm' | 'solana' | 'stellar', required — Network type enum for relayers
    - `notification_id` string
    - `paused` boolean, required
    - `policies` union — Policy types for responses - these don't include network_type tags since the network_type is already available at the top level of RelayerResponse
      - EvmPolicyResponse — EVM policy response model for OpenAPI documentation
        - `eip1559_pricing` boolean
        - `gas_limit_estimation` boolean
        - `gas_price_cap` integer
        - `min_balance` integer
        - `private_transactions` boolean
        - `whitelist_receivers` string[]
      - StellarPolicyResponse — Stellar policy response model for OpenAPI documentation
        - `concurrent_transactions` boolean
        - `max_fee` integer
        - `min_balance` integer
        - `timeout_seconds` integer
      - SolanaPolicyResponse — Solana policy response model for OpenAPI documentation
        - `allowed_accounts` string[]
        - `allowed_programs` string[]
        - `allowed_tokens` SolanaAllowedTokensPolicy[]
          - `decimals` integer
          - `max_allowed_fee` integer
          - `mint` string, required
          - `swap_config` SolanaAllowedTokensSwapConfig — Solana token swap configuration
            - `max_amount` integer — Maximum amount of tokens to swap. Optional.
            - `min_amount` integer — Minimum amount of tokens to swap. Optional.
            - `retain_min_amount` integer — Minimum amount of tokens to retain after swap. Optional.
            - `slippage_percentage` number, float — Conversion slippage percentage for token. Optional.
          - `symbol` string
        - `disallowed_accounts` string[]
        - `fee_margin_percentage` number, float
        - `fee_payment_strategy` 'user' | 'relayer' — Solana fee payment strategy Determines who pays transaction fees: - `User`: User must include fee payment to relayer in transaction (for custom RPC methods) - `Relayer`: Relayer pays all transaction fees (recommended for send transaction endpoint) Default is `User`.
        - `max_allowed_fee_lamports` integer
        - `max_signatures` integer
        - `max_tx_data_size` integer
        - `min_balance` integer
        - `swap_config` RelayerSolanaSwapConfig — Solana swap policy configuration
          - `cron_schedule` string — Cron schedule for executing token swap logic to keep relayer funded. Optional.
          - `jupiter_swap_options` JupiterSwapOptions — Jupiter swap options
            - `dynamic_compute_unit_limit` boolean
            - `priority_fee_max_lamports` integer — Maximum priority fee (in lamports) for a transaction. Optional.
            - `priority_level` string — Priority. Optional.
          - `min_balance_threshold` integer — Min sol balance to execute token swap logic to keep relayer funded. Optional.
          - `strategy` 'jupiter-swap' | 'jupiter-ultra' | 'noop' — Solana swap strategy
    - `signer_id` string, required
    - `system_disabled` boolean
  - `error` string
  - `metadata` PluginMetadata
    - `logs` LogEntry[], nullable
      - `level` 'log' | 'info' | 'error' | 'warn' | 'debug' | 'result', required
      - `message` string, required
    - `traces` unknown[], nullable
      - unknown
  - `pagination` PaginationMeta
    - `current_page` integer, required
    - `per_page` integer, required
    - `total_items` integer, required
  - `success` boolean, required

## Other responses

- `400` — BadRequest
- `401` — Unauthorized
- `404` — Not Found
- `429` — Too Many Requests
- `500` — Internal server error

## Changes

- **2025-11-07** `ae4706da1ec2` — 2 breaking, 1 info
  - the request property `notification_id` became not nullable
  - removed `#/components/schemas/CreateRelayerPolicyRequest, subschema #1` from the `policies` request property `oneOf` list
  - added `subschema #1, subschema #2, subschema #3` to the `policies` request property `oneOf` list
- **2025-10-31** `5487da58bf15` — 2 breaking, 5 warning, 4 info
  - removed `#/components/schemas/RelayerEvmPolicy, #/components/schemas/RelayerSolanaPolicy, #/components/schemas/RelayerStellarPolicy` from the `policies` request property `oneOf` list
  - the response property `data/custom_rpc_urls/items/weight` became optional for the status `200`
  - removed the optional property `data/policies/oneOf[#/components/schemas/StellarPolicyResponse]/allowed_tokens` from the response with the `200` status
  - removed the optional property `data/policies/oneOf[#/components/schemas/StellarPolicyResponse]/fee_margin_percentage` from the response with the `200` status
  - …7 more

[Change history](https://skmtc.dev/openzeppelin/apis/openzeppelin-relayer-api/changes/api/v1/relayers/:relayer_id/patch.md)

---

[API](https://skmtc.dev/openzeppelin/apis/openzeppelin-relayer-api.md) · [All operations](https://skmtc.dev/openzeppelin/apis/openzeppelin-relayer-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/openzeppelin/openzeppelin-relayer-api/revisions/d1f71894e671/schema)
