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

# Generate Deposit Address

> Generates a new blockchain deposit address for an account for a given asset/chain pair. UTGL may reuse addresses on blockchains that support reuse. For example, if you're generated two addresses for depositing USDC and USDC, both on Ethereum, you may see the same Ethereum address returned. This behaviour cannot be assumed and should not be relied upon. Your implementation should generate an address for each asset and chain you want to support.
Depositing cryptocurrency to a generated address will credit the associated account with the value of the deposit net of any fees (if applicable).



## OpenAPI

````yaml /issuing/api-reference/openapi.yaml post /digital-custody/deposit-addresses
openapi: 3.1.0
info:
  title: API Reference
  version: '1.0'
servers:
  - url: https://access.utgl.io/v1
  - url: https://sandbox.access.utgl.io/v1
security:
  - Basic: []
  - Bearer: []
tags:
  - name: Accounts
  - name: Transactions
  - name: Card Accounts
  - name: Card Products
  - name: Cards
  - name: Digital Custody
  - name: Fee
  - name: Payout
paths:
  /digital-custody/deposit-addresses:
    post:
      tags:
        - Digital Custody
      summary: Generate Deposit Address
      description: >-
        Generates a new blockchain deposit address for an account for a given
        asset/chain pair. UTGL may reuse addresses on blockchains that support
        reuse. For example, if you're generated two addresses for depositing
        USDC and USDC, both on Ethereum, you may see the same Ethereum address
        returned. This behaviour cannot be assumed and should not be relied
        upon. Your implementation should generate an address for each asset and
        chain you want to support.

        Depositing cryptocurrency to a generated address will credit the
        associated account with the value of the deposit net of any fees (if
        applicable).
      operationId: generateDepositAddress
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - asset
                - accountId
              properties:
                assets:
                  type: array
                  description: Symbol of digital asset
                  example:
                    - USDC
                    - USDT
                    - HT
                  items:
                    type: string
                chain:
                  type: string
                  description: >-
                    Network to generate address for. If not provided, the
                    default network for the asset will be used
                  example: ETH
                accountId:
                  type: string
                  format: uuid
                  example: 6a3176fe-7715-4fe0-a548-034912d7f800
                  description: Account ID
                idempotencyKey:
                  $ref: '#/components/schemas/IdempotencyKey'
                xid:
                  $ref: '#/components/schemas/Xid'
                xmetadata:
                  $ref: '#/components/schemas/Xmetadata'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/DigitalDepositAddress'
components:
  schemas:
    IdempotencyKey:
      type: string
      description: >-
        Unique idempotency key for ensuring exactly-once execution of mutating
        requests.
      format: string
      example: xeev1she5eegh9daiviethahchoo1muW
    Xid:
      type: string
      description: >-
        External identifier, unique across all resources created under this
        account.
    Xmetadata:
      type: object
      description: External metadata
      example:
        key1: value1
        key2:
          - value2.1
          - value2.2
      additionalProperties: true
      oneOf:
        - type: string
        - type: array
          items:
            type: string
    DigitalDepositAddress:
      type: object
      properties:
        id:
          type: string
          example: c936a1ff-1d3c-45e1-af1f-ed497685a305
        address:
          type: string
          example: '0x000000000dfde7deaf24138722987c9b6991e2d4'
          description: >-
            An alphanumeric string representing a blockchain address. Will be in
            different formats for different chains. It is important to preserve
            the exact formatting and capitalization of the address.
        asset:
          type: string
          example: USDC
        chain:
          type: string
          example: ETH
        addressTag:
          type: string
          description: >-
            The secondary identifier for a blockchain address. An example of
            this is the memo field on the Stellar network, which can be text,
            id, or hash format.
        created:
          type: string
          format: date-time
        xid:
          $ref: '#/components/schemas/Xid'
        xmetadata:
          $ref: '#/components/schemas/Xmetadata'
  securitySchemes:
    Basic:
      type: http
      scheme: basic
    Bearer:
      type: http
      scheme: bearer
      bearerFormat: JWT

````