> ## 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/external-wallets/add-an-asset-to-an-external-wallet",
  "feedback": "Description of the issue"
}
```

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

</AgentInstructions>

# Add an asset to an external wallet.

> Adds an asset to an existing external wallet. Endpoint Permission: Admin, Non-Signing Admin, Signer, Approver, Editor.



## OpenAPI

````yaml https://docs.fireblocks.com/api/v1/swagger.yaml post /external_wallets/{walletId}/{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:
  /external_wallets/{walletId}/{assetId}:
    post:
      tags:
        - External wallets
      summary: Add an asset to an external wallet.
      description: >-
        Adds an asset to an existing external wallet. Endpoint Permission:
        Admin, Non-Signing Admin, Signer, Approver, Editor.
      operationId: addAssetToExternalWallet
      parameters:
        - in: path
          name: walletId
          required: true
          description: The ID of the wallet
          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/AddAssetToExternalWalletRequest'
      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.externalWallets.addAssetToExternalWallet(externalWalletsApiAddAssetToExternalWalletRequest);
        - lang: Java
          source: >-
            CompletableFuture<ApiResponse<ExternalWalletAsset>> response =
            fireblocks.externalWallets().addAssetToExternalWallet(walletId,
            assetId, addAssetToExternalWalletRequest, idempotencyKey);
        - lang: Python
          source: >-
            response =
            fireblocks.external_wallets.add_asset_to_external_wallet(wallet_id,
            asset_id, add_asset_to_external_wallet_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:
    AddAssetToExternalWalletRequest:
      description: Request schema for adding an asset to an external wallet
      oneOf:
        - $ref: '#/components/schemas/BasicAddressRequest'
        - $ref: '#/components/schemas/AdditionalInfoRequest'
    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'
    BasicAddressRequest:
      type: object
      description: Basic external wallet request with address information
      properties:
        address:
          type: string
          description: The wallet's address (or xpub) of the external wallet
          example: 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa
        tag:
          type: string
          description: >-
            For XRP wallets, the destination tag; for EOS/XLM, the memo; for the
            fiat providers (BLINC by BCB Group), the Bank Transfer Description
          example: '12345'
      required:
        - address
    AdditionalInfoRequest:
      type: object
      description: >-
        External wallet request with additional payment information for various
        payment rails
      properties:
        additionalInfo:
          type: object
          description: Additional payment information based on the payment rail type
          oneOf:
            - $ref: '#/components/schemas/IbanPaymentInfo'
            - $ref: '#/components/schemas/AbaPaymentInfo'
            - $ref: '#/components/schemas/SpeiBasicPaymentInfo'
            - $ref: '#/components/schemas/SpeiAdvancedPaymentInfo'
            - $ref: '#/components/schemas/PixPaymentInfo'
            - $ref: '#/components/schemas/SepaPaymentInfo'
            - $ref: '#/components/schemas/AchPaymentInfo'
            - $ref: '#/components/schemas/UsWirePaymentInfo'
            - $ref: '#/components/schemas/MomoPaymentInfo'
            - $ref: '#/components/schemas/LbtPaymentInfo'
            - $ref: '#/components/schemas/InteracPaymentInfo'
            - $ref: '#/components/schemas/PayidPaymentInfo'
            - $ref: '#/components/schemas/ChapsPaymentInfo'
      required:
        - additionalInfo
    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
    IbanPaymentInfo:
      type: object
      description: IBAN payment information for European bank transfers
      properties:
        accountHolderGivenName:
          type: string
          description: The given name (first name) of the account holder
          example: John
        accountHolderSurname:
          type: string
          description: The surname (last name) of the account holder
          example: Doe
        accountHolderCity:
          type: string
          description: The city where the account holder resides
          example: London
        accountHolderCountry:
          type: string
          description: >-
            The country where the account holder resides (ISO 3166-1 alpha-2
            code)
          example: GB
        accountHolderAddress1:
          type: string
          description: The primary address line of the account holder
          example: 123 Main Street
        accountHolderAddress2:
          type: string
          description: The secondary address line of the account holder (optional)
          example: Apartment 4B
        accountHolderDistrict:
          type: string
          description: The district or region where the account holder resides
          example: Westminster
        accountHolderPostalCode:
          type: string
          description: The postal code of the account holder's address
          example: SW1A 1AA
        iban:
          type: string
          description: The International Bank Account Number (IBAN)
          example: GB82WEST12345698765432
        ibanCity:
          type: string
          description: The city associated with the IBAN
          example: London
        ibanCountry:
          type: string
          description: The country associated with the IBAN (ISO 3166-1 alpha-2 code)
          example: GB
      required:
        - accountHolderGivenName
        - accountHolderCity
        - accountHolderCountry
        - accountHolderAddress1
        - accountHolderPostalCode
        - iban
        - ibanCity
        - ibanCountry
    AbaPaymentInfo:
      type: object
      description: ABA payment information for US bank transfers
      properties:
        accountHolderGivenName:
          type: string
          description: The given name (first name) of the account holder
          example: John
        accountHolderSurname:
          type: string
          description: The surname (last name) of the account holder
          example: Doe
        accountHolderCity:
          type: string
          description: The city where the account holder resides
          example: New York
        accountHolderCountry:
          type: string
          description: >-
            The country where the account holder resides (ISO 3166-1 alpha-2
            code)
          example: US
        accountHolderAddress1:
          type: string
          description: The primary address line of the account holder
          example: 123 Wall Street
        accountHolderAddress2:
          type: string
          description: The secondary address line of the account holder (optional)
          example: Suite 100
        accountHolderDistrict:
          type: string
          description: The district or region where the account holder resides
          example: Manhattan
        accountHolderPostalCode:
          type: string
          description: The postal code of the account holder's address
          example: '10005'
        abaRoutingNumber:
          type: string
          description: The ABA routing number for the bank
          example: '021000021'
        abaAccountNumber:
          type: string
          description: The account number at the bank
          example: '1234567890'
        abaCountry:
          type: string
          description: The country for the ABA transfer (ISO 3166-1 alpha-2 code)
          example: US
      required:
        - accountHolderGivenName
        - accountHolderCity
        - accountHolderCountry
        - accountHolderAddress1
        - accountHolderPostalCode
        - abaRoutingNumber
        - abaAccountNumber
        - abaCountry
    SpeiBasicPaymentInfo:
      type: object
      description: Basic SPEI payment information for Mexican bank transfers
      properties:
        speiClabe:
          type: string
          description: The CLABE (Clave Bancaria Estandarizada) number for SPEI transfers
          example: '012180001234567890'
        speiName:
          type: string
          description: The name associated with the SPEI account
          example: Juan Pérez
      required:
        - speiClabe
    SpeiAdvancedPaymentInfo:
      type: object
      description: >-
        Advanced SPEI payment information for Mexican bank transfers with full
        details
      properties:
        rail:
          type: string
          enum:
            - SPEI
          description: The payment rail type for SPEI transfers
          example: SPEI
        addressingSystem:
          type: string
          enum:
            - CLABE
          description: The addressing system used for SPEI transfers
          example: CLABE
        accountHolderGivenName:
          type: string
          description: The given name (first name) of the account holder
          example: Juan
        accountHolderSurname:
          type: string
          description: The surname (last name) of the account holder
          example: Pérez
        country:
          type: string
          description: The country for the transfer (ISO 3166-1 alpha-2 code)
          example: MX
        bankName:
          type: string
          description: The name of the bank
          example: Banco Nacional de México
        beneficiaryRfc:
          type: string
          description: The RFC (Registro Federal de Contribuyentes) of the beneficiary
          example: PERJ800101ABC
        senderDocumentId:
          type: string
          description: The document ID of the sender
          example: CURP123456789
        clabe:
          type: string
          description: The CLABE (Clave Bancaria Estandarizada) number
          example: '012180001234567890'
      required:
        - rail
        - addressingSystem
        - accountHolderGivenName
        - accountHolderSurname
        - country
        - clabe
    PixPaymentInfo:
      type: object
      description: PIX payment information for Brazilian instant payments
      properties:
        rail:
          type: string
          enum:
            - PIX
          description: The payment rail type for PIX transfers
          example: PIX
        addressingSystem:
          type: string
          enum:
            - PIX
          description: The addressing system used for PIX transfers
          example: PIX
        accountHolderGivenName:
          type: string
          description: The given name (first name) of the account holder
          example: João
        accountHolderSurname:
          type: string
          description: The surname (last name) of the account holder
          example: Silva
        country:
          type: string
          description: The country for the transfer (ISO 3166-1 alpha-2 code)
          example: BR
        pixKey:
          type: string
          description: The PIX key used for the transfer
          example: joao.silva@email.com
        bankName:
          type: string
          description: The name of the bank
          example: Banco do Brasil
        bankCode:
          type: string
          description: >-
            The bank code (ISPB - Identificador do Sistema de Pagamentos
            Brasileiros)
          example: '00000000'
        keyType:
          type: string
          enum:
            - CPF
            - CNPJ
            - EMAIL
            - PHONE
            - RANDOM
          description: The type of PIX key being used
          example: EMAIL
      required:
        - rail
        - addressingSystem
        - accountHolderGivenName
        - accountHolderSurname
        - country
        - pixKey
        - keyType
    SepaPaymentInfo:
      type: object
      description: >-
        SEPA payment information for European Single Euro Payments Area
        transfers
      properties:
        rail:
          type: string
          enum:
            - SEPA
          description: The payment rail type for SEPA transfers
          example: SEPA
        addressingSystem:
          type: string
          enum:
            - IBAN
          description: The addressing system used for SEPA transfers
          example: IBAN
        accountHolderGivenName:
          type: string
          description: The given name (first name) of the account holder
          example: Marie
        accountHolderSurname:
          type: string
          description: The surname (last name) of the account holder
          example: Dupont
        accountHolderCountry:
          type: string
          description: >-
            The country where the account holder resides (ISO 3166-1 alpha-2
            code)
          example: FR
        accountHolderAddress:
          type: string
          description: The address of the account holder
          example: 123 Rue de la Paix
        iban:
          type: string
          description: The International Bank Account Number (IBAN)
          example: FR1420041010050500013M02606
        country:
          type: string
          description: The country for the transfer (ISO 3166-1 alpha-2 code)
          example: FR
        bic:
          type: string
          description: The Bank Identifier Code (BIC/SWIFT code)
          example: BNPAFRPP
        bankName:
          type: string
          description: The name of the bank
          example: BNP Paribas
        bankBranch:
          type: string
          description: The bank branch information
          example: Paris Central
        bankAddress:
          type: string
          description: The address of the bank
          example: 16 Boulevard des Italiens, 75009 Paris
        purposeCode:
          type: string
          description: The purpose code for the transfer
          example: SALA
        taxId:
          type: string
          description: The tax identification number
          example: '1234567890123'
      required:
        - rail
        - addressingSystem
        - accountHolderGivenName
        - accountHolderSurname
        - country
        - iban
    AchPaymentInfo:
      type: object
      description: ACH payment information for US Automated Clearing House transfers
      properties:
        rail:
          type: string
          enum:
            - ACH
          description: The payment rail type for ACH transfers
          example: ACH
        addressingSystem:
          type: string
          enum:
            - ACH
          description: The addressing system used for ACH transfers
          example: ACH
        accountHolderGivenName:
          type: string
          description: The given name (first name) of the account holder
          example: John
        accountHolderSurname:
          type: string
          description: The surname (last name) of the account holder
          example: Smith
        country:
          type: string
          description: The country for the transfer (ISO 3166-1 alpha-2 code)
          example: US
        accountNumber:
          type: string
          description: The bank account number
          example: '1234567890'
        routingNumber:
          type: string
          description: The bank routing number (ABA routing number)
          example: '021000021'
        accountType:
          type: string
          enum:
            - CHECKING
            - SAVINGS
          description: The type of bank account
          example: CHECKING
      required:
        - rail
        - addressingSystem
        - routingNumber
        - accountType
        - accountHolderGivenName
        - accountHolderSurname
        - country
        - accountNumber
    UsWirePaymentInfo:
      type: object
      description: US Wire payment information for US domestic wire transfers
      properties:
        rail:
          type: string
          enum:
            - US_WIRE
          description: The payment rail type for US wire transfers
          example: US_WIRE
        addressingSystem:
          type: string
          enum:
            - ABA
          description: The addressing system used for US wire transfers
          example: ABA
        accountHolderGivenName:
          type: string
          description: The given name (first name) of the account holder
          example: John
        accountHolderSurname:
          type: string
          description: The surname (last name) of the account holder
          example: Smith
        country:
          type: string
          description: The country for the transfer (ISO 3166-1 alpha-2 code)
          example: US
        accountNumber:
          type: string
          description: The bank account number
          example: '1234567890'
        routingNumber:
          type: string
          description: The bank routing number (ABA routing number)
          example: '021000021'
        swiftCode:
          type: string
          description: The SWIFT/BIC code of the bank
          example: CHASUS33
        bankName:
          type: string
          description: The name of the bank
          example: JPMorgan Chase Bank
        bankAddressLine:
          type: string
          description: The street address of the bank
          example: 270 Park Avenue
        bankAddressCity:
          type: string
          description: The city where the bank is located
          example: New York
        bankAddressState:
          type: string
          description: The state where the bank is located
          example: NY
        bankAddressCountry:
          type: string
          description: The country where the bank is located (ISO 3166-1 alpha-2 code)
          example: US
        bankAddressPostalCode:
          type: string
          description: The postal code of the bank's address
          example: '10017'
        branchNumber:
          type: string
          description: The branch number of the bank
          example: '001'
      required:
        - rail
        - addressingSystem
        - accountHolderGivenName
        - accountHolderSurname
        - country
        - swiftCode
        - bankName
        - accountNumber
        - routingNumber
        - bankAddressLine
        - bankAddressCity
        - bankAddressCountry
        - bankAddressPostalCode
    MomoPaymentInfo:
      type: object
      description: >-
        Mobile Money (MOMO) payment information for African mobile payment
        services
      properties:
        rail:
          type: string
          enum:
            - MOMO
          description: The payment rail type for mobile money transfers
          example: MOMO
        addressingSystem:
          type: string
          enum:
            - MOMO
          description: The addressing system used for mobile money transfers
          example: MOMO
        accountHolderGivenName:
          type: string
          description: The given name (first name) of the account holder
          example: Kwame
        accountHolderSurname:
          type: string
          description: The surname (last name) of the account holder
          example: Asante
        country:
          type: string
          description: The country for the transfer (ISO 3166-1 alpha-2 code)
          example: GH
        mobilePhoneNumber:
          type: string
          description: The mobile phone number associated with the mobile money account
          example: '+233241234567'
        provider:
          type: string
          enum:
            - M_PESA
            - AIRTEL
            - MTN
            - TIGO
            - WAVE
          description: The mobile money service provider
          example: MTN
        email:
          type: string
          format: email
          description: The email address of the account holder
          example: john.doe@example.com
        beneficiaryDocumentId:
          type: string
          description: The document ID of the beneficiary
          example: GHA-123456789-0
        beneficiaryRelationship:
          type: string
          description: The relationship between sender and beneficiary
          example: Family
      required:
        - rail
        - email
        - addressingSystem
        - accountHolderGivenName
        - accountHolderSurname
        - country
        - mobilePhoneNumber
        - provider
    LbtPaymentInfo:
      type: object
      description: >-
        LBT (Lebanese Bank Transfer) payment information for Lebanese bank
        transfers
      properties:
        rail:
          type: string
          enum:
            - LBT
          description: The payment rail type for Lebanese bank transfers
          example: LBT
        addressingSystem:
          type: string
          enum:
            - BAN
          description: >-
            The addressing system used for Lebanese bank transfers (Bank Account
            Number)
          example: BAN
        accountHolderGivenName:
          type: string
          description: The given name (first name) of the account holder
          example: Ahmad
        accountHolderSurname:
          type: string
          description: The surname (last name) of the account holder
          example: Khalil
        country:
          type: string
          description: The country for the transfer (ISO 3166-1 alpha-2 code)
          example: LB
        accountNumber:
          type: string
          description: The bank account number
          example: '123456789012'
        bankName:
          type: string
          description: The name of the bank
          example: Bank of Beirut
        bankCode:
          type: string
          description: The bank code or identifier
          example: '001'
      required:
        - rail
        - addressingSystem
        - accountHolderGivenName
        - accountHolderSurname
        - country
        - accountNumber
        - bankName
        - bankCode
    InteracPaymentInfo:
      type: object
      description: Interac e-Transfer payment information for Canadian dollar transfers
      properties:
        rail:
          type: string
          enum:
            - INTERAC
          description: The payment rail type for Interac transfers
          example: INTERAC
        addressingSystem:
          type: string
          enum:
            - INTERAC
          description: The addressing system used for Interac transfers
          example: INTERAC
        accountHolderGivenName:
          type: string
          description: The given name (first name) of the account holder
          example: John
        accountHolderSurname:
          type: string
          description: The surname (last name) of the account holder
          example: Smith
        country:
          type: string
          description: The country for the transfer (ISO 3166-1 alpha-2 code)
          example: CA
        recipientHandleType:
          type: string
          enum:
            - EMAIL
          description: The type of recipient handler being used
          example: EMAIL
        recipientHandleValue:
          type: string
          description: Email address registered for Interac e-Transfer
          example: john.smith@email.com
        message:
          type: string
          description: The message to be sent to the recipient
          example: Please deposit the funds into the account
      required:
        - rail
        - addressingSystem
        - accountHolderGivenName
        - accountHolderSurname
        - country
        - recipientHandleType
        - recipientHandleValue
        - message
        - securityQuestion
    PayidPaymentInfo:
      type: object
      description: PayID payment information for Australian dollar transfers
      properties:
        rail:
          type: string
          enum:
            - PAYID
          description: The payment rail type for PayID transfers
          example: PAYID
        addressingSystem:
          type: string
          enum:
            - PAYID
          description: The addressing system used for PayID transfers
          example: PAYID
        accountHolderGivenName:
          type: string
          description: The given name (first name) of the account holder
          example: John
        accountHolderSurname:
          type: string
          description: The surname (last name) of the account holder
          example: Williams
        country:
          type: string
          description: The country for the transfer (ISO 3166-1 alpha-2 code)
          example: AU
        value:
          type: string
          description: The PayID identifier (email, phone, ABN, or organization ID)
          example: john.williams@email.com
        type:
          type: string
          enum:
            - EMAIL
          description: The type of PayID being used
          example: EMAIL
        bsb:
          type: string
          description: Bank State Branch (BSB) number (6 digits, format XXX-XXX)
          example: 123-456
        accountNumber:
          type: string
          description: Australian bank account number
          example: '12345678'
      required:
        - rail
        - addressingSystem
        - accountHolderGivenName
        - accountHolderSurname
        - country
        - value
        - type
        - accountNumber
    ChapsPaymentInfo:
      type: object
      description: CHAPS payment information for UK pound sterling same-day transfers
      properties:
        rail:
          type: string
          enum:
            - CHAPS
          description: The payment rail type for CHAPS transfers
          example: CHAPS
        addressingSystem:
          type: string
          enum:
            - CHAPS
          description: The addressing system used for CHAPS transfers
          example: CHAPS
        accountHolderGivenName:
          type: string
          description: The given name (first name) of the account holder
          example: John
        accountHolderSurname:
          type: string
          description: The surname (last name) of the account holder
          example: Smith
        country:
          type: string
          description: The country for the transfer (ISO 3166-1 alpha-2 code)
          example: GB
        sortCode:
          type: string
          description: UK bank sort code (format XX-XX-XX)
          pattern: ^\d{6}$
          example: 12-34-56
        accountNumber:
          type: string
          pattern: ^\d{8}$
          description: UK bank account number
          example: '12345678'
        bankName:
          type: string
          description: The name of the bank
          example: Barclays Bank
        bankAccountCountry:
          type: string
          pattern: ^\d{2}$
          description: CHAPS bank account holder name
          example: GB
        bankAccountHolderName:
          type: string
          pattern: ^(?=.{1,140}$)[^\s]+(\s+[^\s]+)*$
          description: CHAPS bank account holder name
          example: John Smith
      required:
        - rail
        - addressingSystem
        - accountHolderGivenName
        - accountHolderSurname
        - country
        - sortCode
        - accountNumber
        - bankAccountCountry
        - bankAccountHolderName
  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'

````