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

# Generate a stablecoin deposit address

> Generate a unique USDT deposit address on a supported network. Send this address to customers so they can deposit USDT into your Mavapay stablecoin wallet. You can generate multiple addresses per network and use `label` to identify them.



## OpenAPI

````yaml post /collections/stablecoin/generate-address
openapi: 3.0.1
info:
  title: Mavapay API
  description: API documentation for Mavapay
  license:
    name: MIT
  version: 1.0.0
  contact:
    name: Mavapay
    url: https://mavapay.co
    email: info@mavapay.co
servers:
  - url: https://staging.api.mavapay.co/api/v1
    description: Staging server
  - url: https://api.mavapay.co/api/v1
    description: Live server
security:
  - ApiKeyAuth: []
    bearerAuth: []
tags:
  - name: Price
    description: Price related endpoints
  - name: Payment Link
    description: Payment Link endpoints for creating and managing hosted payment pages
  - name: Collection
    description: >-
      Stablecoin collection endpoints for generating and listing USDT deposit
      addresses
  - name: Withdraw
    description: Withdraw funds from Mavapay wallets to external accounts or addresses
paths:
  /collections/stablecoin/generate-address:
    post:
      tags:
        - Collection
      summary: Generate a stablecoin deposit address
      description: >-
        Generate a unique USDT deposit address on a supported network. Send this
        address to customers so they can deposit USDT into your Mavapay
        stablecoin wallet. You can generate multiple addresses per network and
        use `label` to identify them.
      operationId: generateStablecoinAddress
      requestBody:
        content:
          application/json:
            schema:
              type: object
              required:
                - currency
                - network
              properties:
                label:
                  type: string
                  description: >-
                    A human-readable identifier for this address. Returned as
                    `reference` on the address object.
                  example: test 1
                currency:
                  type: string
                  description: The stablecoin to collect. Currently only USDT is supported.
                  enum:
                    - USDT
                  example: USDT
                network:
                  type: string
                  description: >-
                    The blockchain network to generate the address on. Use
                    lowercase values in the request.
                  enum:
                    - trc20
                    - erc20
                    - plasma
                    - solana
                    - polygon
                  example: erc20
            examples:
              generateErc20:
                summary: Generate an Ethereum (ERC20) deposit address
                value:
                  label: test 1
                  currency: USDT
                  network: erc20
              generateTrc20:
                summary: Generate a Tron (TRC20) deposit address
                value:
                  label: tron deposits
                  currency: USDT
                  network: trc20
        required: true
      responses:
        '200':
          description: Address generated successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    example: ok
                  message:
                    type: string
                    example: Address generated successfully
                  data:
                    $ref: '#/components/schemas/StablecoinDepositAddress'
              example:
                status: ok
                message: Address generated successfully
                data:
                  id: bdf9bbba-f562-4b10-abfb-b180404415b7
                  address: '0x220303f911dbC38F09d13f8cC3ba8700f0Ca8C99'
                  currency: USDT
                  network: ERC20
                  memo: null
                  reference: Theo test 1
                  minAmount: '5'
                  maxAmount: '0'
                  walletId: 69a7129f-0a0a-484d-968f-2601bce85149
                  updatedAt: '2026-08-20T10:09:46.288Z'
                  createdAt: '2026-08-20T10:09:46.288Z'
        '400':
          description: Unexpected error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - ApiKeyAuth: []
        - bearerAuth: []
components:
  schemas:
    StablecoinDepositAddress:
      type: object
      properties:
        id:
          type: string
          format: uuid
          example: bdf9bbba-f562-4b10-abfb-b180404415b7
          description: The unique identifier for the deposit address
        walletId:
          type: string
          format: uuid
          example: 69a7129f-0a0a-484d-968f-2601bce85149
          description: The USDT wallet this address deposits into
        address:
          type: string
          example: '0x220303f911dbC38F09d13f8cC3ba8700f0Ca8C99'
          description: The on-chain address customers should send USDT to
        currency:
          type: string
          enum:
            - USDT
          example: USDT
        network:
          type: string
          description: >-
            The blockchain network. Responses typically return this in uppercase
            (e.g. `ERC20`).
          example: ERC20
        memo:
          type: string
          nullable: true
          description: >-
            Destination memo/tag if required by the network. `null` when not
            applicable.
          example: null
        reference:
          type: string
          description: The label supplied when the address was generated
          example: Theo test 1
        minAmount:
          type: string
          description: >-
            Minimum deposit amount in USDT. Deposits below this amount may not
            be credited. For example, `5` means 5 USDT.
          example: '5'
        maxAmount:
          type: string
          description: Maximum deposit amount in USDT. `0` means there is no maximum.
          example: '0'
        createdAt:
          type: string
          format: date-time
          example: '2026-08-20T10:09:46.288Z'
        updatedAt:
          type: string
          format: date-time
          example: '2026-08-20T10:09:46.288Z'
    Error:
      required:
        - error
        - message
      type: object
      properties:
        status:
          type: string
          format: string
          example: error
        message:
          type: string
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-KEY
    bearerAuth:
      type: http
      scheme: bearer

````