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

# Update an Offloader Wallet Bank Destination

> Update an offloader wallet by id

Update mutable fields on an existing Offloader Wallet. You can change the bank account destination (including the payout rail and reference), adjust the integrator fee rate, or update the return address for failed transactions. The on-chain address and network are immutable after creation.


## OpenAPI

````yaml openapi/spherepay.yaml PATCH /v2/offloader-wallet/{id}
openapi: 3.0.0
info:
  title: ''
  description: ''
  version: 1.0.0
  contact: {}
servers:
  - url: https://api.spherepay.co
    description: Production
security:
  - bearer: []
tags: []
paths:
  /v2/offloader-wallet/{id}:
    patch:
      summary: Update an offloader wallet
      description: Update an offloader wallet by id
      parameters:
        - name: id
          required: true
          in: path
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateOffloaderWalletRequestDto'
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/OffloaderWalletResponseDto'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetailsDto'
              examples:
                Bad Request:
                  summary: Bad Request
                  value:
                    status: 400
                    detail: Invalid request parameters
                    code: address/invalid
                    correlationId: 28c61e885c6e5eaa78c1a2183a9b883c
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetailsDto'
              examples:
                Not Found:
                  summary: Not Found
                  value:
                    status: 404
                    detail: Resource not found
                    code: resource/not-found
                    correlationId: 28c61e885c6e5eaa78c1a2183a9b883c
        '422':
          description: Unprocessable Entity - Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProblemDetailsDto'
              examples:
                Validation Error:
                  summary: Validation Error
                  value:
                    status: 422
                    detail: Validation failed
                    code: validation/failed
                    correlationId: 28c61e885c6e5eaa78c1a2183a9b883c
                    errors:
                      - detail: Invalid email format
                        pointer: /email
                      - detail: Name is required
                        pointer: /name
components:
  schemas:
    UpdateOffloaderWalletRequestDto:
      type: object
      properties:
        destination:
          description: The bank account destination where converted funds are sent.
          example:
            bankAccountId: bankAccount_6221e8d4299f4a889bd882255e92f581
            achReference: REF456
          type: object
          properties:
            bankAccountId:
              description: The ID of the bank account that converted funds will be sent to.
              example: bankAccount_6221e8d4299f4a889bd882255e92f581
              type: string
            achReference:
              description: >-
                Reference sent to the receiving institution with ACH transfers,
                1-10 characters.
              example: REF456
              type: string
              minLength: 1
              maxLength: 10
            wireMessage:
              description: >-
                Message sent to the receiving institution with wire transfers,
                1-105 characters.
              example: 'Invoice #1024'
              type: string
              minLength: 1
              maxLength: 105
            sepaReference:
              description: >-
                Reference sent to the receiving institution with SEPA transfers,
                6-140 characters.
              example: INV-2024-002
              type: string
              minLength: 6
              maxLength: 140
        integratorBpsFeeRate:
          description: >-
            Integrator fee override in basis points (0-1000). Send "0" to remove
            the integrator fee.
          example: '75'
          type: string
        returnAddress:
          description: >-
            Crypto address where funds are returned on failed transactions. Must
            be valid for the wallet network.
          example: '0x4838B106FCe9647Bdf1E7877BF73cE8B0BAD5f97'
          type: string
    OffloaderWalletResponseDto:
      type: object
      properties:
        id:
          description: Unique identifier for the offloader wallet.
          example: wallet_a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6
          type: string
        customerId:
          description: The customer who owns the offloader wallet.
          example: customer_a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6
          type: string
        address:
          description: >-
            The on-chain deposit address for the offloader wallet. Send crypto
            to this address to trigger automatic conversion.
          example: '0x4838B106FCe9647Bdf1E7877BF73cE8B0BAD5f97'
          type: string
        currency:
          description: >-
            The crypto currency the offloader wallet accepts for deposits. See
            [Supported Rails & Currencies](/concepts/transfers/supported-rails).
          example: usdc
          type: string
          enum:
            - usdc
            - usdt
            - eurc
        network:
          description: >-
            The blockchain network the offloader wallet is on. See [Supported
            Rails & Currencies](/concepts/transfers/supported-rails).
          example: ethereum
          type: string
          enum:
            - sol
            - ethereum
            - arbitrum
            - polygon
            - base
            - avalanche
            - tron
        status:
          description: >-
            Lifecycle status of the offloader wallet. `active` accepts deposits
            and settles; `deactivated` no longer settles.
          example: active
          type: string
          enum:
            - active
            - deactivated
          x-enumNames:
            - ACTIVE
            - DEACTIVATED
        destination:
          description: >-
            The bank account destination where converted funds are sent. See
            [Bank Accounts guide](/concepts/transfers/bank-accounts).
          example:
            bankAccountId: bankAccount_6221e8d4299f4a889bd882255e92f581
            currency: usd
            network: ach
            achReference: REF123
          oneOf:
            - title: ACH
              type: object
              properties:
                bankAccountId:
                  description: >-
                    The ID of the bank account that converted funds will be sent
                    to. See [Bank Accounts
                    guide](/concepts/transfers/bank-accounts).
                  example: bankAccount_6221e8d4299f4a889bd882255e92f581
                  type: string
                currency:
                  description: The fiat currency the crypto will be converted into.
                  example: usd
                  type: string
                  enum:
                    - usd
                network:
                  description: >-
                    The banking network used to deliver funds to the destination
                    account. See [Supported Rails &
                    Currencies](/concepts/transfers/supported-rails).
                  example: ach
                  type: string
                  enum:
                    - ach
                achReference:
                  description: >-
                    Reference sent to the receiving institution with ACH
                    transfers, 1-10 characters.
                  example: REF123
                  type: string
                  minLength: 1
                  maxLength: 10
              required:
                - bankAccountId
                - currency
                - network
            - title: Wire
              type: object
              properties:
                bankAccountId:
                  description: >-
                    The ID of the bank account that converted funds will be sent
                    to. See [Bank Accounts
                    guide](/concepts/transfers/bank-accounts).
                  example: bankAccount_6221e8d4299f4a889bd882255e92f581
                  type: string
                currency:
                  description: The fiat currency the crypto will be converted into.
                  example: usd
                  type: string
                  enum:
                    - usd
                network:
                  description: >-
                    The banking network used to deliver funds to the destination
                    account. See [Supported Rails &
                    Currencies](/concepts/transfers/supported-rails).
                  example: wire
                  type: string
                  enum:
                    - wire
                wireMessage:
                  description: >-
                    Message sent to the receiving institution with wire
                    transfers, 1-105 characters.
                  example: 'Invoice #1024'
                  type: string
                  minLength: 1
                  maxLength: 105
              required:
                - bankAccountId
                - currency
                - network
            - title: SEPA
              type: object
              properties:
                bankAccountId:
                  description: >-
                    The ID of the bank account that converted funds will be sent
                    to. See [Bank Accounts
                    guide](/concepts/transfers/bank-accounts).
                  example: bankAccount_6221e8d4299f4a889bd882255e92f581
                  type: string
                currency:
                  description: The fiat currency the crypto will be converted into.
                  example: eur
                  type: string
                  enum:
                    - eur
                network:
                  description: >-
                    The banking network used to deliver funds to the destination
                    account. See [Supported Rails &
                    Currencies](/concepts/transfers/supported-rails).
                  example: sepa
                  type: string
                  enum:
                    - sepa
                sepaReference:
                  description: >-
                    Reference sent to the receiving institution with SEPA
                    transfers, 6-140 characters.
                  example: INV-2024-001
                  type: string
                  minLength: 6
                  maxLength: 140
              required:
                - bankAccountId
                - currency
                - network
        fees:
          description: >-
            Fee configuration for the offloader wallet, including integrator and
            platform fees.
          example:
            integratorFee:
              bpsRate: '100'
              currency: usdc
            platformFee:
              bpsRate: '30'
              currency: usdc
          type: object
          properties:
            integratorFee:
              type: object
              properties:
                bpsRate:
                  description: Integrator fee rate in basis points (1 bps = 0.01%).
                  example: '100'
                  type: string
                currency:
                  description: >-
                    The currency the integrator fee is denominated in (matches
                    the wallet deposit currency).
                  example: usdc
                  type: string
                  enum:
                    - usdc
                    - usdt
                    - eurc
              required:
                - bpsRate
                - currency
            platformFee:
              type: object
              properties:
                bpsRate:
                  description: Platform fee rate in basis points (1 bps = 0.01%).
                  example: '30'
                  type: string
                currency:
                  description: >-
                    The currency the platform fee is denominated in (matches the
                    wallet deposit currency).
                  example: usdc
                  type: string
                  enum:
                    - usdc
                    - usdt
                    - eurc
              required:
                - bpsRate
                - currency
          required:
            - integratorFee
            - platformFee
        returnAddress:
          description: >-
            Crypto address where funds are returned on failed transactions. Must
            be valid for the wallet network. Null if not configured.
          example: '0x4838B106FCe9647Bdf1E7877BF73cE8B0BAD5f97'
          type: string
        created:
          description: Timestamp when the offloader wallet was created (ISO 8601).
          example: '2024-06-15T10:30:00.000Z'
          type: string
        updated:
          description: Timestamp when the offloader wallet was last updated (ISO 8601).
          example: '2024-06-15T12:00:00.000Z'
          type: string
      required:
        - id
        - customerId
        - address
        - currency
        - network
        - status
        - destination
        - fees
        - created
        - updated
    ProblemDetailsDto:
      type: object
      properties:
        title:
          type: string
        status:
          type: integer
        detail:
          type: string
        code:
          type: string
        errors:
          type: array
          items:
            type: object
            properties:
              detail:
                type: string
              pointer:
                type: string
              parameter:
                type: string
              header:
                type: string
            required:
              - detail
        correlationId:
          type: string
      required:
        - status
        - detail
  securitySchemes:
    bearer:
      scheme: bearer
      bearerFormat: JWT
      type: http

````