> ## 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/contracts/add-an-asset-to-a-whitelisted-contract",
  "feedback": "Description of the issue"
}
```

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

</AgentInstructions>

# Add an asset to a whitelisted contract

> Adds an asset to a whitelisted contract. Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.



## OpenAPI

````yaml https://docs.fireblocks.com/api/v1/swagger.yaml post /contracts/{contractId}/{assetId}
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:
  /contracts/{contractId}/{assetId}:
    post:
      tags:
        - Contracts
      summary: Add an asset to a whitelisted contract
      description: >-
        Adds an asset to a whitelisted contract. Endpoint Permission: Admin,
        Non-Signing Admin, Signer, Approver, Editor.
      operationId: addContractAsset
      parameters:
        - in: path
          name: contractId
          required: true
          description: The ID of the contract
          schema:
            type: string
        - in: path
          name: assetId
          required: true
          description: The ID of the asset to add
          schema:
            type: string
            x-fb-entity: asset
        - $ref: '#/components/parameters/X-Idempotency-Key'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/AddContractAssetRequest'
      responses:
        '200':
          description: A Wallet Asset object
          headers:
            X-Request-ID:
              $ref: '#/components/headers/X-Request-ID'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ExternalWalletAsset'
        default:
          $ref: '#/components/responses/Error'
      x-codeSamples:
        - lang: TypeScript
          source: >-
            const response: Promise<FireblocksResponse<ExternalWalletAsset>> =
            fireblocks.contracts.addContractAsset(contractsApiAddContractAssetRequest);
        - lang: Java
          source: >-
            CompletableFuture<ApiResponse<ExternalWalletAsset>> response =
            fireblocks.contracts().addContractAsset(contractId, assetId,
            addContractAssetRequest, idempotencyKey);
        - lang: Python
          source: >-
            response = fireblocks.contracts.add_contract_asset(contract_id,
            asset_id, add_contract_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:
    AddContractAssetRequest:
      type: object
      properties:
        address:
          type: string
          description: The contract's address (or xpub) of the wallet
        tag:
          type: string
          description: The destination tag, for XRP wallets
      required:
        - address
    ExternalWalletAsset:
      type: object
      properties:
        id:
          type: string
        status:
          $ref: '#/components/schemas/ConfigChangeRequestStatus'
        address:
          type: string
        balance:
          type: number
        lockedAmount:
          type: number
        tag:
          type: string
        activationTime:
          type: string
        additionalInfo:
          type: array
          items:
            $ref: '#/components/schemas/WalletAssetAdditionalInfo'
    ConfigChangeRequestStatus:
      type: string
      enum:
        - WAITING_FOR_APPROVAL
        - APPROVED
        - CANCELLED
        - REJECTED
        - FAILED
    WalletAssetAdditionalInfo:
      type: object
      properties:
        accountHolderGivenName:
          type: string
        accountHolderSurname:
          type: string
        accountHolderCity:
          type: string
        accountHolderCountry:
          type: string
        accountHolderAddress1:
          type: string
        accountHolderAddress2:
          type: string
        accountHolderDistrict:
          type: string
        accountHolderPostalCode:
          type: string
        abaRoutingNumber:
          type: string
        abaAccountNumber:
          type: string
        abaCountry:
          type: string
        iban:
          type: string
        ibanCity:
          type: string
        ibanCountry:
          type: string
        speiClabe:
          type: string
        speiName:
          type: string
    ErrorSchema:
      type: object
      properties:
        message:
          type: string
        code:
          type: number
  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
  responses:
    Error:
      description: Error Response
      headers:
        X-Request-ID:
          $ref: '#/components/headers/X-Request-ID'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorSchema'

````