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

# Create an account deposit address

> Generates a new blockchain address for an account for a given currency/chain pair.
Circle may reuse addresses on blockchains that support reuse. For example, if you're
requesting two addresses for depositing USD and ETH, both on Ethereum, you may see the
same Ethereum address returned. Depositing cryptocurrency to a generated address will
credit the associated account with the value of the deposit.




## OpenAPI

````yaml openapi/accounts.yaml post /v1/accounts/addresses/deposit
openapi: 3.0.2
info:
  version: 1.0.0
  title: Accounts (Stablecoin) API
  description: >
    Circle's Accounts API provides endpoints for managing stablecoin accounts --
    including transfers,

    withdrawals, deposits, wire and ACH bank accounts, and blockchain addresses.


    An **Account** is a general representation of a ledger or custody object
    that holds balances. It can be a business account,

    a stablecoin account ledger for an end user, an extra sub-ledger, or any
    future custody solution.
  license:
    name: Circle License
    url: https://circle.com/terms
servers:
  - url: https://api-sandbox.circle.com
  - url: https://api.circle.com
security: []
tags:
  - name: Accounts
    description: Manage accounts.
  - name: Account Groups
    description: Manage custody account groups and their memberships.
  - name: Transactions
    description: |
      Get a unified, customer-friendly view of account transaction activity.
  - name: Transfers
    description: Manage account transfers.
  - name: Withdrawals
    description: Manage account bank withdrawals (fiat offramp).
  - name: Wires
    description: Manage account bank accounts for wire transfers.
  - name: ACH
    description: Manage account bank accounts for ACH transfers.
  - name: Deposits
    description: Get information on account bank deposits.
  - name: Deposit Addresses
    description: Manage account deposit addresses.
  - name: Recipient Addresses
    description: Manage account recipient addresses used for transfers.
paths:
  /v1/accounts/addresses/deposit:
    post:
      tags:
        - Deposit Addresses
      summary: Create an account deposit address
      description: >
        Generates a new blockchain address for an account for a given
        currency/chain pair.

        Circle may reuse addresses on blockchains that support reuse. For
        example, if you're

        requesting two addresses for depositing USD and ETH, both on Ethereum,
        you may see the

        same Ethereum address returned. Depositing cryptocurrency to a generated
        address will

        credit the associated account with the value of the deposit.
      operationId: createAccountDepositAddress
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AccountGenerateAddressRequest'
      responses:
        '201':
          description: Successfully generated a new deposit address.
          headers:
            X-Request-Id:
              $ref: '#/components/headers/XRequestId'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateAccountDepositAddressResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/NotAuthorized'
        '500':
          $ref: '#/components/responses/InternalServerError'
      security:
        - bearerAuth: []
components:
  schemas:
    AccountGenerateAddressRequest:
      type: object
      required:
        - idempotencyKey
        - currency
        - chain
      properties:
        idempotencyKey:
          $ref: '#/components/schemas/IdempotencyKey'
        accountId:
          description: Identifier for the account. Required for 3rd-party flows.
          type: string
          example: '1000565227'
        currency:
          $ref: '#/components/schemas/Currency'
        chain:
          $ref: '#/components/schemas/Chain'
    CreateAccountDepositAddressResponse:
      title: CreateAccountDepositAddressResponse
      properties:
        data:
          $ref: '#/components/schemas/AddressObject'
    IdempotencyKey:
      type: string
      description: >-
        Universally unique identifier (UUID v4) idempotency key. This key is
        utilized to ensure exactly-once execution of mutating requests.
      format: uuid
      example: ba943ff1-ca16-49b2-ba55-1057e70ca5c7
    Currency:
      type: string
      description: A currency associated with a balance or address.
      nullable: true
      enum:
        - USD
        - EUR
    Chain:
      type: string
      description: A blockchain that a given currency is available on.
      enum:
        - ALGO
        - APTOS
        - ARB
        - AVAX
        - BASE
        - BTC
        - CELO
        - CODEX
        - ETH
        - HBAR
        - HYPEREVM
        - INK
        - LINEA
        - NEAR
        - NOBLE
        - OP
        - PLUME
        - PAH
        - POLY
        - SEI
        - SOL
        - SONIC
        - SUI
        - UNI
        - WORLDCHAIN
        - XDC
        - XLM
        - XRP
        - ZKS
        - ZKSYNC
    XRequestId:
      type: string
      format: uuid
      example: 2adba88e-9d63-44bc-b975-9b6ae3440dde
    AddressObject:
      type: object
      properties:
        address:
          $ref: '#/components/schemas/Address'
        addressTag:
          $ref: '#/components/schemas/AddressTag'
        currency:
          $ref: '#/components/schemas/Currency'
        chain:
          $ref: '#/components/schemas/Chain'
        id:
          $ref: '#/components/schemas/Id'
        accountId:
          type: string
          description: Unique identifier of the associated account.
    Error:
      type: object
      required:
        - code
        - message
      properties:
        code:
          type: integer
          description: >
            Circle internal status code from the platform `CoreStatusCode` enum
            (and its domain-specific extensions). **This is not the HTTP status
            code** — `-1` is the catch-all unknown error, `1`/`2` indicate API
            parameter problems, `3` is forbidden, `4` is unauthorized, and
            larger values identify domain-specific failures. Consumers should
            rely on the HTTP status line for transport-level error class and on
            this field for the specific Circle error case.
          example: 2
        message:
          type: string
          description: >-
            Internal error message; suitable for logging but not for end-user
            display.
          example: API parameter invalid.
        externalMessage:
          type: string
          description: >
            End-user-displayable error message. Present when the server has
            generated a customer-facing variant for this error; omitted
            otherwise.
          example: The provided amount exceeds the maximum allowed.
    Address:
      type: string
      description: >
        An alphanumeric string representing a blockchain address. Formatting
        varies by blockchain.

        Be sure to preserve the exact formatting and capitalization of the
        address.
      example: '0x8381470ED67C3802402dbbFa0058E8871F017A6F'
    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.
      nullable: true
      example: '123456789'
    Id:
      type: string
      description: Unique system-generated identifier for the entity.
      format: uuid
      example: b8627ae8-732b-4d25-b947-1df8f4007a29
  headers:
    XRequestId:
      description: >
        Circle-generated universally unique identifier (UUID v4). Useful for
        identifying a specific request when communicating with Circle Support.
      schema:
        $ref: '#/components/schemas/XRequestId'
  responses:
    BadRequest:
      description: The request cannot be processed due to a client error.
      headers:
        X-Request-Id:
          $ref: '#/components/headers/XRequestId'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            code: 2
            message: API parameter invalid.
    NotAuthorized:
      description: >-
        The request has not been applied because it lacks valid authentication
        credentials.
      headers:
        X-Request-Id:
          $ref: '#/components/headers/XRequestId'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            code: 4
            message: Unauthorized.
    InternalServerError:
      description: >-
        The server encountered an unexpected condition that prevented it from
        fulfilling the request.
      headers:
        X-Request-Id:
          $ref: '#/components/headers/XRequestId'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            code: -1
            message: 'Something went wrong. errId: 1f0b0c455e40f753f07b4f0ae6abd4b4'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````