> ## 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.

# Obtain a specific Smart Deposit Address/es based on various criteria

> This endpoint allows you to find a specific Smart Deposit Address or Addresses based on provided criteria.



## OpenAPI

````yaml https://api.rhino.fi/sda/swagger.json get /deposit-addresses/search
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/search:
    get:
      tags:
        - depositAddresses
      summary: Obtain a specific Smart Deposit Address/es based on various criteria
      description: >-
        This endpoint allows you to find a specific Smart Deposit Address or
        Addresses based on provided criteria.
      operationId: depositAddresses.searchDepositAddress
      parameters:
        - name: addressNote
          in: query
          schema:
            type: string
            description: >-
              A note or label for the deposit address as a reference, e.g.
              "ClientID123456" (max 80 characters).
            title: maxLength(80)
            maxLength: 80
          required: false
          description: >-
            A note or label for the deposit address as a reference, e.g.
            "ClientID123456" (max 80 characters).
        - name: depositChain
          in: query
          schema:
            type: string
            description: The blockchain where the deposit was sent to, e.g. "ETHEREUM".
            title: nonEmptyString
            minLength: 1
          required: false
          description: The blockchain where the deposit was sent to, e.g. "ETHEREUM".
        - name: destinationChain
          in: query
          schema:
            type: string
            description: >-
              The blockchain that the tokenOut will be bridged to, e.g.
              "AVALANCHE".
            title: nonEmptyString
            minLength: 1
          required: false
          description: >-
            The blockchain that the tokenOut will be bridged to, e.g.
            "AVALANCHE".
        - name: destinationAddress
          in: query
          schema:
            type: string
            description: The address where tokenOut will be bridged to, e.g. "0x123...ABC".
            title: nonEmptyString
            minLength: 1
          required: false
          description: The address where tokenOut will be bridged to, e.g. "0x123...ABC".
        - name: pageToken
          in: query
          schema:
            type: string
            description: >-
              An opaque token identifying the page of results to return, as
              provided by the `nextPageToken` field of a previous response.
              Should be used in conjunction with pageSize.
            title: nonEmptyString
            minLength: 1
          required: false
          description: >-
            An opaque token identifying the page of results to return, as
            provided by the `nextPageToken` field of a previous response. Should
            be used in conjunction with pageSize.
        - name: pageSize
          in: query
          schema:
            type: string
            description: >-
              The number of results to display per pageToken, e.g. "25". This
              helps filter long responses and should be used in conjunction with
              pageToken.
          required: false
          description: >-
            The number of results to display per pageToken, e.g. "25". This
            helps filter long responses and should be used in conjunction with
            pageToken.
      responses:
        '200':
          description: SearchDepositAddressResponse
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchDepositAddressResponse'
        '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'
        '422':
          description: InvalidRequest
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidRequest'
      security:
        - bearer: []
        - legacyApiKey: []
components:
  schemas:
    SearchDepositAddressResponse:
      type: object
      required:
        - nextPageToken
        - items
      properties:
        nextPageToken:
          anyOf:
            - $ref: '#/components/schemas/NonEmptyString'
            - type: 'null'
          description: >-
            An opaque token identifying the next page of results, to be passed
            in the `pageToken` query param to fetch it. Null when there are no
            further pages.
        items:
          type: array
          items:
            type: object
            required:
              - depositChain
              - depositAddress
              - destinationChain
              - isPaused
              - userId
            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, e.g.
                  "ClientID123456" (max 80 characters).
                title: maxLength(80)
                maxLength: 80
              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'
              _tag:
                type: string
                enum:
                  - legacy
              userId:
                type: string
                description: >-
                  The projectID that this Smart Deposit Address is associated
                  with.
              webhookUrl:
                type: string
                description: >-
                  The URL that success or failure events related to this Smart
                  Deposit Address will be sent to.
                title: nonEmptyString
                minLength: 1
            additionalProperties: false
          description: The Smart Deposit Addresses matching the given search criteria.
      additionalProperties: false
    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
    InvalidRequest:
      type: object
      required:
        - message
        - _tag
      properties:
        message:
          type: string
        _tag:
          type: string
          enum:
            - InvalidRequest
      additionalProperties: false
    NonEmptyString:
      type: string
      description: a non empty string
      title: nonEmptyString
      minLength: 1
    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.
    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
    NonNegative:
      type: number
      description: a non-negative number
      title: nonNegative
      minimum: 0
    StarknetFelt:
      type: string
      description: a string that will be trimmed
    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
  securitySchemes:
    bearer:
      description: JWT token for authentication
      type: http
      scheme: bearer
    legacyApiKey:
      type: apiKey
      name: authorization
      in: header

````