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

# Register a blockchain address

> Attaches a blockchain address to an existing account alias, so that resolving the alias for that asset returns this address. An account can hold several addresses, one per asset. The response is the only place the new address id is returned — keep it, or find it later through the account search endpoint.



## OpenAPI

````yaml https://sandbox-api.borderless.xyz/v1/api-json post /v1/mastercard/crypto-credential/crypto-addresses
openapi: 3.0.0
info:
  title: Borderless API
  description: The Borderless API documentation.
  version: '1.0'
  contact: {}
servers:
  - url: https://sandbox-api.borderless.xyz
security: []
tags: []
paths:
  /v1/mastercard/crypto-credential/crypto-addresses:
    post:
      tags:
        - Mastercard Crypto Credential
      summary: Register a blockchain address
      description: >-
        Attaches a blockchain address to an existing account alias, so that
        resolving the alias for that asset returns this address. An account can
        hold several addresses, one per asset. The response is the only place
        the new address id is returned — keep it, or find it later through the
        account search endpoint.
      operationId: CryptoCredentialController_createCryptoAddress
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CryptoCredentialCreateAddressDto'
      responses:
        '201':
          description: Crypto address registered successfully.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CryptoCredentialAddressEntity'
      security:
        - bearer: []
components:
  schemas:
    CryptoCredentialCreateAddressDto:
      type: object
      properties:
        accountAlias:
          type: string
          maxLength: 255
          description: >-
            The alias of the account the address is registered under. The
            account must already exist.
          example: user@example.com
        address:
          type: string
          minLength: 10
          maxLength: 255
          description: >-
            The blockchain address to register. An account alias can hold
            several addresses, one per asset.
          example: '0x46Be1B5b35708e369b943CE6094c6f0484d480A7'
        asset:
          description: >-
            The token tied to a specific blockchain held at the address. It
            determines which network the address resolves on.
          example: USDC_POLYGON
          allOf:
            - $ref: '#/components/schemas/AssetId'
      required:
        - accountAlias
        - address
    CryptoCredentialAddressEntity:
      type: object
      properties:
        id:
          type: string
          description: >-
            Identifier of the registered address. Use it to fetch, update or
            decommission the address.
        accountAlias:
          type: string
          nullable: true
          description: The alias of the account the address is registered under.
        status:
          nullable: true
          description: >-
            The status of the address. Only an active address is returned when
            the alias is resolved.
          allOf:
            - $ref: '#/components/schemas/CryptoCredentialAccountStatus'
        address:
          type: string
          nullable: true
          description: The registered blockchain address.
        asset:
          nullable: true
          description: >-
            The token tied to a specific blockchain held at the address. It
            determines which network the address resolves on.
          allOf:
            - $ref: '#/components/schemas/AssetId'
        createdAt:
          type: string
          nullable: true
          description: When the address was registered.
        updatedAt:
          type: string
          nullable: true
          description: When the address was last updated.
      required:
        - id
    AssetId:
      type: string
      enum:
        - POL
        - USDT_POLYGON
        - USDC_POLYGON
        - SBC_POLYGON
        - ETH
        - USDT_ETHEREUM
        - USDC_ETHEREUM
        - PYUSD_ETHEREUM
        - DAI_ETHEREUM
        - EURC_ETHEREUM
        - SBC_ETHEREUM
        - TRX
        - USDT_TRON
        - SBC_TRON
        - ETH_BASE
        - USDC_BASE
        - USDB_BASE
        - EURC_BASE
        - SBC_BASE
        - ETH_OPTIMISM
        - USDT_OPTIMISM
        - USDC_OPTIMISM
        - BTC
        - CELO
        - CUSD_CELO
        - USDC_CELO
        - SBC_CELO
        - SOL
        - USDC_SOLANA
        - USDT_SOLANA
        - PYUSD_SOLANA
        - USDP_SOLANA
        - EURC_SOLANA
        - SBC_SOLANA
    CryptoCredentialAccountStatus:
      type: string
      enum:
        - Active
        - Suspended
        - Decommissioned
      description: >-
        The status of the alias. Only an active alias should be treated as safe
        to send funds to. Absent when the alias could not be resolved.
  securitySchemes:
    bearer:
      scheme: bearer
      bearerFormat: JWT
      type: http

````