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

# Pause, unpause, or update deposit addresses

> Pauses or unpauses deposit address(es) matching the given address, or updates the destination address using signature authorization. For Pause and Unpause, depositChain limits the action to one chain when provided; otherwise all matching deposit addresses are affected. Signature-authorized destination updates require custom per-project setup and are not generally available.



## OpenAPI

````yaml https://api.rhino.fi/sda/swagger.json patch /deposit-addresses/{depositAddress}
openapi: 3.1.0
info:
  title: SDA API
  version: 0.0.1
  description: Functionality for interacting with Rhino SDA service
servers:
  - url: https://api.rhino.fi/sda
security: []
tags:
  - name: depositAddresses
paths:
  /deposit-addresses/{depositAddress}:
    patch:
      tags:
        - depositAddresses
      summary: Pause, unpause, or update deposit addresses
      description: >-
        Pauses or unpauses deposit address(es) matching the given address, or
        updates the destination address using signature authorization. For Pause
        and Unpause, depositChain limits the action to one chain when provided;
        otherwise all matching deposit addresses are affected.
        Signature-authorized destination updates require custom per-project
        setup and are not generally available.
      operationId: depositAddresses.updateDepositAddresses
      parameters:
        - name: depositAddress
          in: path
          schema:
            anyOf:
              - $ref: '#/components/schemas/EthAddressSchema'
              - $ref: '#/components/schemas/TronAddressBasic'
              - $ref: '#/components/schemas/SolanaAddress'
              - $ref: '#/components/schemas/StellarMuxedAddress'
              - $ref: '#/components/schemas/BitcoinAddressSchema'
            description: The Rhino.fi Smart Deposit Address to update, e.g. "0x123...ABC".
          required: true
          description: The Rhino.fi Smart Deposit Address to update, e.g. "0x123...ABC".
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateDepositAddressesPayload'
        required: true
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  required:
                    - depositChain
                    - depositAddress
                    - destinationChain
                    - isActive
                    - isPaused
                  properties:
                    depositChain:
                      type: string
                      description: >-
                        The blockchain that the Smart Deposit Address is on and
                        that deposits should be sent to, e.g. "ETHEREUM".
                      title: nonEmptyString
                      minLength: 1
                    depositAddress:
                      type: string
                      description: >-
                        The Rhino.fi Smart Deposit Address that the deposit has
                        been sent to.
                      title: nonEmptyString
                      minLength: 1
                    destinationChain:
                      type: string
                      description: >-
                        The blockchain that the received tokens will be bridged
                        to.
                      title: nonEmptyString
                      minLength: 1
                    destinationAddress:
                      type: string
                      description: >-
                        The blockchain address that the received tokens will be
                        bridged / bridged and swapped to.
                      title: nonEmptyString
                      minLength: 1
                    addressNote:
                      type: string
                      description: A note or label for the deposit address as a reference.
                      title: maxLength(80)
                      maxLength: 80
                    isActive:
                      type: boolean
                      description: >-
                        Whether the Smart Deposit Address is being actively
                        monitored for incoming deposits of supportedTokens
                        (true), in which case it will take the necessary bridge
                        / bridge and swap actions, or is not currently being
                        monitored or actioned by Rhino.fi (false). All Smart
                        Deposit Addresses are set to isActive = true when
                        generated and will be monitored and actioned for 10
                        years, however Smart Deposit Addresses can be disabled
                        via request.
                    isPaused:
                      type: boolean
                      description: >-
                        Whether this deposit address is currently paused. Paused
                        addresses reject incoming deposits until they are
                        unpaused.
                    postBridgeData:
                      anyOf:
                        - $ref: '#/components/schemas/ExtendedPostBridgeData'
                        - $ref: >-
                            #/components/schemas/StarkwareBtcfiCampaignPostBridgeData
                        - $ref: '#/components/schemas/WirexWrapPostBridgeData'
                        - $ref: '#/components/schemas/WirexWrapSandboxPostBridgeData'
                        - $ref: >-
                            #/components/schemas/StarkwareBtcfiCampaignV2PostBridgeData
                        - $ref: '#/components/schemas/AaveV3SupplyPostBridgeData'
                        - $ref: >-
                            #/components/schemas/RocketFoundationDepositPostBridgeData
                        - $ref: '#/components/schemas/MapleDepositPostBridgeData'
                        - $ref: '#/components/schemas/EtherfiDepositPostBridgeData'
                      description: >-
                        Custom Routing Rules as configured by Rhino.fi for
                        specific clients, e.g. to move funds after the initial
                        bridge into a yield bearing vault. To understand more
                        about how Routing Rules can help automate onchain
                        actions and ensure that your funds land in an active
                        state, please contact your Rhino.fi Customer Success
                        Manager or speak to a member of the Rhino.fi sales team.
                    tokenOut:
                      type: string
                      description: The token that will be received on the destinationChain.
                    refundAddress:
                      type: string
                      description: >-
                        The address that any funds would be returned to in the
                        case that a transaction to this Smart Deposit Address is
                        unsuccessful.
                      title: nonEmptyString
                      minLength: 1
                    bridgeIfNotSwappable:
                      type: boolean
                      description: >-
                        If true, deposited tokens that cannot be swapped to the
                        tokenOut will be bridged instead of causing a failed
                        transaction. If false, any deposited tokens that cannot
                        be swapped to the tokenOut will cause the transaction to
                        fail. Must be used in conjunction with the tokenOut
                        parameter.
                    chainMetadata:
                      $ref: '#/components/schemas/ChainMetadata'
                  additionalProperties: false
        '400':
          description: The request did not match the expected schema
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: '#/components/schemas/HttpApiDecodeError'
                  - $ref: '#/components/schemas/InvalidJwt'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Unauthorized'
        '403':
          description: ProjectNotAllowlistedForSdaDestinationUpdate
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/ProjectNotAllowlistedForSdaDestinationUpdate
        '422':
          description: DepositAddressNotFound
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: '#/components/schemas/DepositAddressNotFound'
                  - $ref: '#/components/schemas/SdaDestinationAddressMismatch'
                  - $ref: '#/components/schemas/InvalidSdaDestinationSignature'
                  - $ref: >-
                      #/components/schemas/UnsupportedSdaVariantForDestinationUpdate
        '429':
          description: DepositAddressRateLimitExceeded
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DepositAddressRateLimitExceeded'
        '503':
          description: EndpointDisabledError
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: '#/components/schemas/EndpointDisabledError'
                  - $ref: '#/components/schemas/SdaSignatureVerificationUnavailable'
      security:
        - bearer: []
        - legacyApiKey: []
components:
  schemas:
    EthAddressSchema:
      type: string
      description: a string that will be trimmed
    TronAddressBasic:
      type: string
      description: Tron basic address format
      pattern: T[123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz]+
      title: maxLength(60)
      maxLength: 60
    SolanaAddress:
      type: string
    StellarMuxedAddress:
      type: string
    BitcoinAddressSchema:
      anyOf:
        - $ref: '#/components/schemas/BitcoinBech32AddressSchema'
        - $ref: '#/components/schemas/BitcoinBase58AddressSchema'
      description: Bitcoin address (bech32 / bech32m or base58check)
    UpdateDepositAddressesPayload:
      type: object
      required:
        - action
      properties:
        action:
          anyOf:
            - $ref: '#/components/schemas/PauseSdasAction'
            - $ref: '#/components/schemas/UnpauseSdasAction'
            - $ref: '#/components/schemas/UpdateDestinationAddressWithSignatureAction'
          description: >-
            Action to apply to the deposit address(es). "Pause" stops accepting
            new deposits; "Unpause" resumes;
            "UpdateDestinationAddressWithSignature" updates the destination
            address after signature verification and requires custom per-project
            setup.
      additionalProperties: false
    ExtendedPostBridgeData:
      type: object
      required:
        - _tag
        - vaultId
      properties:
        _tag:
          type: string
          enum:
            - extended
        vaultId:
          $ref: '#/components/schemas/NonNegative'
          description: A variable relating to the specific post bridge action.
          title: int
          type: integer
      additionalProperties: false
    StarkwareBtcfiCampaignPostBridgeData:
      type: object
      required:
        - _tag
      properties:
        _tag:
          type: string
          enum:
            - starkwarebtcfi
      additionalProperties: false
    WirexWrapPostBridgeData:
      type: object
      required:
        - _tag
      properties:
        _tag:
          type: string
          enum:
            - wirexwrap
      additionalProperties: false
    WirexWrapSandboxPostBridgeData:
      type: object
      required:
        - _tag
      properties:
        _tag:
          type: string
          enum:
            - wirexwrapsandbox
      additionalProperties: false
    StarkwareBtcfiCampaignV2PostBridgeData:
      type: object
      required:
        - _tag
        - spans
      properties:
        _tag:
          type: string
          enum:
            - starkwarebtcfiv2
        spans:
          type: array
          items:
            $ref: '#/components/schemas/StarknetFelt'
          description: A variable relating to the specific post bridge action.
          title: maxItems(70)
          maxItems: 70
      additionalProperties: false
    AaveV3SupplyPostBridgeData:
      type: object
      required:
        - _tag
      properties:
        _tag:
          type: string
          enum:
            - aavev3supply
      additionalProperties: false
    RocketFoundationDepositPostBridgeData:
      type: object
      required:
        - _tag
      properties:
        _tag:
          type: string
          enum:
            - rocketfoundationdeposit
      additionalProperties: false
    MapleDepositPostBridgeData:
      type: object
      required:
        - _tag
      properties:
        _tag:
          type: string
          enum:
            - mapledeposit
      additionalProperties: false
    EtherfiDepositPostBridgeData:
      type: object
      required:
        - _tag
      properties:
        _tag:
          type: string
          enum:
            - etherfideposit
      additionalProperties: false
    ChainMetadata:
      type: object
      required:
        - _tag
        - baseAddress
        - memoId
      properties:
        _tag:
          type: string
          enum:
            - STELLAR
        baseAddress:
          type: string
          description: >-
            The Stellar base account (G…) that the muxed deposit address
            resolves to. Clients can deposit to this address instead of the
            muxed (M…) address, provided they also set the memo.
        memoId:
          type: string
          description: >-
            The Stellar memo id that must be supplied alongside the base address
            when depositing to it, so that Rhino.fi can attribute the deposit to
            the correct muxed (M…) deposit address.
      additionalProperties: false
      description: >-
        Optional chain-specific metadata. Currently only populated for Stellar
        SDAs, where it exposes the base address and memo id that the muxed
        deposit address resolves to.
    HttpApiDecodeError:
      type: object
      required:
        - issues
        - message
        - _tag
      properties:
        issues:
          type: array
          items:
            $ref: '#/components/schemas/Issue'
        message:
          type: string
        _tag:
          type: string
          enum:
            - HttpApiDecodeError
      additionalProperties: false
      description: The request did not match the expected schema
    InvalidJwt:
      type: object
      required:
        - message
        - _tag
      properties:
        message:
          type: string
        _tag:
          type: string
          enum:
            - InvalidJwt
      additionalProperties: false
    Unauthorized:
      type: object
      required:
        - message
        - _tag
      properties:
        message:
          type: string
        _tag:
          type: string
          enum:
            - Unauthorized
      additionalProperties: false
    ProjectNotAllowlistedForSdaDestinationUpdate:
      type: object
      required:
        - projectId
        - message
        - _tag
      properties:
        projectId:
          $ref: '#/components/schemas/NonEmptyString'
        message:
          type: string
        _tag:
          type: string
          enum:
            - ProjectNotAllowlistedForSdaDestinationUpdate
      additionalProperties: false
    DepositAddressNotFound:
      type: object
      required:
        - message
        - addresses
        - _tag
      properties:
        message:
          type: string
        addresses:
          type: array
          items:
            $ref: '#/components/schemas/NonEmptyString'
        _tag:
          type: string
          enum:
            - DepositAddressNotFound
      additionalProperties: false
    SdaDestinationAddressMismatch:
      type: object
      required:
        - depositAddress
        - message
        - _tag
      properties:
        depositAddress:
          $ref: '#/components/schemas/EthAddressSchema'
        message:
          type: string
        _tag:
          type: string
          enum:
            - SdaDestinationAddressMismatch
      additionalProperties: false
    InvalidSdaDestinationSignature:
      type: object
      required:
        - depositAddress
        - message
        - _tag
      properties:
        depositAddress:
          $ref: '#/components/schemas/EthAddressSchema'
        message:
          type: string
        _tag:
          type: string
          enum:
            - InvalidSdaDestinationSignature
      additionalProperties: false
    UnsupportedSdaVariantForDestinationUpdate:
      type: object
      required:
        - depositAddress
        - variant
        - message
        - _tag
      properties:
        depositAddress:
          $ref: '#/components/schemas/EthAddressSchema'
        variant:
          $ref: '#/components/schemas/NonEmptyString'
        message:
          type: string
        _tag:
          type: string
          enum:
            - UnsupportedSdaVariantForDestinationUpdate
      additionalProperties: false
    DepositAddressRateLimitExceeded:
      type: object
      required:
        - message
        - limit
        - _tag
      properties:
        message:
          $ref: '#/components/schemas/NonEmptyString'
        limit:
          anyOf:
            - $ref: '#/components/schemas/CountLimitExceeded'
            - $ref: '#/components/schemas/WindowLimitExceeded'
        _tag:
          type: string
          enum:
            - DepositAddressRateLimitExceeded
      additionalProperties: false
    EndpointDisabledError:
      type: object
      required:
        - message
        - _tag
      properties:
        message:
          type: string
        _tag:
          type: string
          enum:
            - EndpointDisabledError
      additionalProperties: false
    SdaSignatureVerificationUnavailable:
      type: object
      required:
        - depositAddress
        - message
        - _tag
      properties:
        depositAddress:
          $ref: '#/components/schemas/EthAddressSchema'
        message:
          type: string
        _tag:
          type: string
          enum:
            - SdaSignatureVerificationUnavailable
      additionalProperties: false
    BitcoinBech32AddressSchema:
      type: string
      description: Bitcoin bech32 / bech32m address (SegWit, Taproot)
    BitcoinBase58AddressSchema:
      type: string
      description: a string that will be trimmed
    PauseSdasAction:
      type: object
      required:
        - _tag
      properties:
        depositChain:
          type: string
          description: >-
            Optional deposit chain identifier. If omitted, the action is applied
            to all deposit addresses matching the given address across all
            chains.
          title: nonEmptyString
          minLength: 1
        _tag:
          type: string
          enum:
            - Pause
      additionalProperties: false
    UnpauseSdasAction:
      type: object
      required:
        - _tag
      properties:
        depositChain:
          type: string
          description: >-
            Optional deposit chain identifier. If omitted, the action is applied
            to all deposit addresses matching the given address across all
            chains.
          title: nonEmptyString
          minLength: 1
        _tag:
          type: string
          enum:
            - Unpause
      additionalProperties: false
    UpdateDestinationAddressWithSignatureAction:
      type: object
      required:
        - newDestinationAddress
        - signature
        - _tag
      properties:
        newDestinationAddress:
          $ref: '#/components/schemas/EthAddressSchema'
        signature:
          $ref: '#/components/schemas/NonEmptyString'
        _tag:
          type: string
          enum:
            - UpdateDestinationAddressWithSignature
      additionalProperties: false
      description: >-
        Updates the destination address using proof of control of the current
        address. This action requires custom per-project setup and is not
        generally available.
    NonNegative:
      type: number
      description: a non-negative number
      title: nonNegative
      minimum: 0
    StarknetFelt:
      type: string
      description: a string that will be trimmed
    Issue:
      type: object
      required:
        - _tag
        - path
        - message
      properties:
        _tag:
          type: string
          enum:
            - Pointer
            - Unexpected
            - Missing
            - Composite
            - Refinement
            - Transformation
            - Type
            - Forbidden
          description: The tag identifying the type of parse issue
        path:
          type: array
          items:
            $ref: '#/components/schemas/PropertyKey'
          description: The path to the property where the issue occurred
        message:
          type: string
          description: A descriptive message explaining the issue
      additionalProperties: false
      description: >-
        Represents an error encountered while parsing a value to match the
        schema
    NonEmptyString:
      type: string
      description: a non empty string
      title: nonEmptyString
      minLength: 1
    CountLimitExceeded:
      type: object
      required:
        - allowed
        - current
        - _tag
      properties:
        allowed:
          $ref: '#/components/schemas/NonNegativeInt'
        current:
          $ref: '#/components/schemas/NonNegativeInt'
        _tag:
          type: string
          enum:
            - CountLimitExceeded
      additionalProperties: false
    WindowLimitExceeded:
      type: object
      required:
        - allowed
        - current
        - durationMs
        - _tag
      properties:
        allowed:
          $ref: '#/components/schemas/NonNegativeInt'
        current:
          $ref: '#/components/schemas/NonNegativeInt'
        durationMs:
          $ref: '#/components/schemas/DurationFromMillis'
        _tag:
          type: string
          enum:
            - WindowLimitExceeded
      additionalProperties: false
    PropertyKey:
      anyOf:
        - type: string
        - type: number
        - type: object
          required:
            - _tag
            - key
          properties:
            _tag:
              type: string
              enum:
                - symbol
            key:
              type: string
          additionalProperties: false
          description: an object to be decoded into a globally shared symbol
    NonNegativeInt:
      type: integer
      description: an integer
      title: int
      minimum: 0
    DurationFromMillis:
      type: number
      description: a non-negative number to be decoded into a Duration
      title: nonNegative
      minimum: 0
  securitySchemes:
    bearer:
      description: JWT token for authentication
      type: http
      scheme: bearer
    legacyApiKey:
      type: apiKey
      name: authorization
      in: header

````