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

# Create Transfer

> Create a wallet transfer.

Use the Prime SDK or CLI to test this endpoint by following the [quickstart](/prime/introduction/quickstart) guide and running with the following examples

<Tabs>
  <Tab title="Java">
    ```java theme={null}
    TransactionsService transactionsService = PrimeServiceFactory.createTransactionsService(client);

    CreateTransferRequest request = new CreateTransferRequest.Builder()
        .portfolioId("PORTFOLIO_ID_HERE")
        .walletId("WALLET_ID_HERE")
        .amount("0.001")
        .destination("DESTINATION_WALLET_UUID")
        .idempotencyKey(UUID.randomUUID().toString())
        .currencySymbol("ETH")
        .build();

    CreateTransferResponse response = transactionsService.createTransfer(request);
    ```

    For more information, please visit the [Prime Java SDK](https://github.com/coinbase-samples/prime-sdk-java).
  </Tab>

  <Tab title=".NET">
    ```csharp wrap theme={null}
    var transactionsService = new TransactionsService(client);

    var request = new CreateTransferRequest("PORTFOLIO_ID_HERE", "WALLET_ID_HERE")
    {
        Amount = "0.001",
        Destination = "DESTINATION_WALLET_UUID",
        IdempotencyKey = Guid.NewGuid().ToString(),
        CurrencySymbol = "ETH",
    };

    var response = transactionsService.CreateTransfer(request);
    ```

    For more information, please visit the [Prime .NET SDK](https://github.com/coinbase-samples/prime-sdk-dotnet).
  </Tab>

  <Tab title="Go">
    ```go wrap theme={null}
    transactionsService := transactions.NewTransactionsService(client)

    request := &transactions.CreateWalletTransferRequest{
        PortfolioId: "PORTFOLIO_ID_HERE",
        WalletId: "WALLET_ID_HERE",
        Amount: "0.001",
        Destination: "DESTINATION_WALLET_UUID",
        IdempotencyKey: uuid.New().String(),
        CurrencySymbol: "ETH",
    }

    response, err := transactionsService.CreateWalletTransfer(context.Background(), request)
    ```

    For more information, please visit the [Prime Go SDK](https://github.com/coinbase-samples/prime-sdk-go).
  </Tab>

  <Tab title="Python">
    ```python wrap theme={null}
    prime_client = PrimeClient(credentials)

    request = CreateTransferRequest(
        portfolio_id="PORTFOLIO_ID_HERE",
        wallet_id="WALLET_ID_HERE",
        amount = '0.001',
        destination = 'DESTINATION_WALLET_UUID',
        idempotency_key = str(uuid.uuid4()),
        currency_symbol = 'ETH',
    )

    response = prime_client.create_transfer(request)
    ```

    For more information, please visit the [Prime Python SDK](https://github.com/coinbase-samples/prime-sdk-py).
  </Tab>

  <Tab title="CLI">
    ```bash wrap theme={null}
    primectl create-transfer --help
    ```

    For more information, please visit the [Prime CLI](https://github.com/coinbase-samples/prime-cli).
  </Tab>

  <Tab title="TS/JS">
    ```typescript wrap theme={null}
    const transactionsService = new TransactionsService(client);

    transactionsService.createTransfer({
        portfolioId: 'PORTFOLIO_ID_HERE',
        walletId: 'WALLET_ID_HERE',
        amount: "0.001",
        destination: "DESTINATION_WALLET_UUID",
        idempotencyKey: uuidv4(),
        currencySymbol: "ETH",

    }).then(async (response) => {
        console.log('Transfer: ', response);
    })
    ```

    For more information, please visit the [Prime TS SDK](https://github.com/coinbase-samples/prime-sdk-ts).
  </Tab>
</Tabs>


## OpenAPI

````yaml POST /v1/portfolios/{portfolio_id}/wallets/{wallet_id}/transfers
openapi: 3.0.1
info:
  title: REST API
  description: >-
    The Coinbase Prime REST API provides programmatic access to trading,
    custody, staking, market data, and account management functionality.
  version: '0.1'
servers:
  - url: https://api.prime.coinbase.com/
security: []
tags:
  - name: PrimeRESTAPI
paths:
  /v1/portfolios/{portfolio_id}/wallets/{wallet_id}/transfers:
    post:
      tags:
        - Transactions
      summary: Create Transfer
      description: Create a wallet transfer.
      operationId: PrimeRESTAPI_CreateWalletTransfer
      parameters:
        - name: portfolio_id
          in: path
          description: The portfolio ID
          required: true
          schema:
            type: string
        - name: wallet_id
          in: path
          description: The wallet ID that the transfer will originate from
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              title: Create a transfer between two wallets
              required:
                - amount
                - currency_symbol
                - destination
                - idempotency_key
              type: object
              properties:
                amount:
                  type: string
                  description: The amount in whole units to send
                destination:
                  type: string
                  description: The UUID of the destination wallet
                idempotency_key:
                  type: string
                  description: The idempotency key associated with this transfer
                currency_symbol:
                  type: string
                  description: The currency symbol to transfer
        required: true
      responses:
        '200':
          description: A successful response.
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/coinbase.public_rest_api.CreateWalletTransferResponse
components:
  schemas:
    coinbase.public_rest_api.CreateWalletTransferResponse:
      type: object
      properties:
        activity_id:
          type: string
          description: The activity ID for the transfer
        approval_url:
          type: string
          description: A URL to the activity associated with this transfer for approval
        symbol:
          type: string
          description: The currency symbol of the transfer
        amount:
          type: string
          description: The amount of the transfer
        fee:
          type: string
          description: The network fee associated with the transfer
        destination_address:
          type: string
          description: The destination address of the transfer
        destination_type:
          title: "NOTE\n\tIf Vault:\n\t\tdisplay vault name\n\tIf Trading\n\t\tdisplay trading name"
          type: string
          description: The destination type of the transfer
        source_address:
          type: string
          description: The source address used for the transfer
        source_type:
          title: "NOTE\n\tIf Vault:\n\t\tdisplay vault name\n\tIf Trading\n\t\tdisplay trading name"
          type: string
          description: The source type used for the transfer
        transaction_id:
          type: string
          description: The id of the just created transaction

````