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

<AgentInstructions>

## Submitting Feedback

If you encounter incorrect, outdated, or confusing documentation on this page, submit feedback:

POST https://developers.fireblocks.com/feedback

```json
{
  "path": "/api-reference/blockchains-&-assets/register-an-asset",
  "feedback": "Description of the issue"
}
```

Only submit feedback when you have something specific and actionable to report.

</AgentInstructions>

# Register an asset

> Register a new asset to a workspace and return the newly created asset's details. Currently supported chains are:
- EVM based chains
- Stellar
- Algorand
- TRON
- NEAR
- Solana
- Sui
- TON




## OpenAPI

````yaml https://docs.fireblocks.com/api/v1/swagger.yaml post /assets
openapi: 3.0.0
info:
  title: Fireblocks API
  description: >
    Fireblocks provides a suite of applications to manage digital asset
    operations and a complete development platform to build your business on the
    blockchain.


    - Visit our website for more information: [Fireblocks
    Website](https://fireblocks.com)

    - Visit our developer docs: [Fireblocks
    DevPortal](https://developers.fireblocks.com)
  version: 1.6.2
  contact:
    email: developers@fireblocks.com
servers:
  - url: https://api.fireblocks.io/v1
    description: Fireblocks Production Environment Base URL
  - url: https://sandbox-api.fireblocks.io/v1
    description: Fireblocks Sandbox Environment Base URL
security: []
paths:
  /assets:
    post:
      tags:
        - Blockchains & assets
      summary: Register an asset
      description: >
        Register a new asset to a workspace and return the newly created asset's
        details. Currently supported chains are:

        - EVM based chains

        - Stellar

        - Algorand

        - TRON

        - NEAR

        - Solana

        - Sui

        - TON
      operationId: registerNewAsset
      parameters:
        - $ref: '#/components/parameters/X-Idempotency-Key'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RegisterNewAssetRequest'
      responses:
        '200':
          description: A new asset has been created successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssetResponse'
        '400':
          description: >
            - Listing an asset on the requested blockchain is not supported.
            Error code: 1000


            - The asset address is invalid. Error code: 1003


            - Self serve listing an asset on the requested blockchain is
            currently not supported, please contact support. Error code: 1004


            - Blockchain is deprecated. Error code: 1006


            - The asset's standard is not supported. Error code: 1007


            - Unable to get expected metadata: decimals | name | symbol. Error
            code: 1010
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssetBadRequestErrorResponse'
        '403':
          description: |
            - The asset creation quota reached. Error code: 1005

            - Tenant is not allowed to create testnet assets. Error code: 1008

            - Tenant is not allowed to create mainnet assets. Error code: 1009
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssetForbiddenErrorResponse'
        '404':
          description: |
            - Invalid address, could not get asset information. Error code 1003
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TokenInfoNotFoundErrorResponse'
        '409':
          description: >
            - The asset is already supported globally. Error code: 1001


            - The asset has already been added to this workspace. Error code:
            1002
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssetConflictErrorResponse'
        '500':
          description: Failed to create asset
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssetInternalServerErrorResponse'
        default:
          $ref: '#/components/responses/Error'
      x-codeSamples:
        - lang: TypeScript
          source: >-
            const response: Promise<FireblocksResponse<AssetResponse>> =
            fireblocks.blockchainsAssets.registerNewAsset(blockchainsAssetsApiRegisterNewAssetRequest);
        - lang: Java
          source: >-
            CompletableFuture<ApiResponse<AssetResponse>> response =
            fireblocks.blockchainsAssets().registerNewAsset(registerNewAssetRequest,
            idempotencyKey);
        - lang: Python
          source: >-
            response =
            fireblocks.blockchains_&_assets.register_new_asset(register_new_asset_request,
            idempotency_key);
components:
  parameters:
    X-Idempotency-Key:
      name: Idempotency-Key
      in: header
      description: >-
        A unique identifier for the request. If the request is sent multiple
        times with the same idempotency key, the server will return the same
        response as the first request. The idempotency key is valid for 24
        hours.
      required: false
      schema:
        type: string
  schemas:
    RegisterNewAssetRequest:
      type: object
      properties:
        blockchainId:
          type: string
          description: Native asset ID of the blockchain
          example: (ETH, ETH_TEST5, MATIC_POLYGON)
        address:
          type: string
          description: |
            Asset address.
            - EVM-based chains: token contract address
            - Stellar (XLM): issuer address
            - Algorand (ALGO): asset ID
            - TRON (TRX): token contract address
            - NEAR: token address
            - Solana: token's mint account address
            - Sui: token's type
            - TON: token's address
          example: 0xe7A9as1oa38bc4da0248s179E30aa94CcF453991
        symbol:
          type: string
          description: Required for Stellar only, asset code is expected.
          example: TST3
      required:
        - blockchainId
        - address
    AssetResponse:
      type: object
      properties:
        legacyId:
          type: string
          example: TST3_ETH
        assetClass:
          type: string
          example: FT
          enum:
            - NATIVE
            - FT
            - NFT
            - SFT
        onchain:
          $ref: '#/components/schemas/AssetOnchain'
        metadata:
          $ref: '#/components/schemas/AssetMetadata'
      required:
        - legacyId
        - assetClass
        - onchain
        - metadata
    AssetBadRequestErrorResponse:
      type: object
      properties:
        message:
          type: string
          description: Bad request error code
          example: Listing an asset on the requested blockchain is not supported
        code:
          type: number
          description: Error code
          example: 3001
      required:
        - message
        - code
    AssetForbiddenErrorResponse:
      type: object
      properties:
        message:
          type: string
          description: Forbidden error code
          example: Asset creation quota reached
        code:
          type: number
          description: Error code
          example: 3006
      required:
        - message
        - code
    TokenInfoNotFoundErrorResponse:
      type: object
      properties:
        message:
          type: string
          description: Not found error code
          example: Invalid address, could not get asset information
        code:
          type: number
          description: Error code
          example: 3009
      required:
        - message
        - code
    AssetConflictErrorResponse:
      type: object
      properties:
        message:
          type: string
          description: Conflict error code
          example: Asset already listed
        code:
          type: number
          description: Error code
          example: 3002
      required:
        - message
        - code
    AssetInternalServerErrorResponse:
      type: object
      properties:
        message:
          type: string
          description: Internal server error code
          example: Internal server error
        code:
          type: number
          description: Error code
          example: 3005
      required:
        - message
        - code
    AssetOnchain:
      type: object
      properties:
        symbol:
          type: string
          description: The asset symbol
          example: TST3
        name:
          type: string
          description: The asset name
          example: Test 3
        address:
          type: string
          description: The asset address
          example: 0xe7A9as1oa38bc4da0248s179E30aa94CcF453991
        decimals:
          type: number
          description: Number of decimals
          example: 18
        standard:
          type: string
          description: The asset standard
          example: ERC20
      required:
        - symbol
        - name
        - decimals
    AssetMetadata:
      type: object
      properties:
        scope:
          type: string
          description: The scope of the asset
          example: Global
          enum:
            - Global
            - Local
        deprecated:
          type: boolean
          description: Is asset deprecated
          example: false
      required:
        - scope
        - deprecated
    ErrorSchema:
      type: object
      properties:
        message:
          type: string
        code:
          type: number
  responses:
    Error:
      description: Error Response
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorSchema'
  headers:
    X-Request-ID:
      schema:
        type: string
      description: >-
        Unique ID correlated to the API request. Please provide it in any
        support ticket you create or on Github issues related to Fireblocks SDKs

````