Create a transfer | Moov Documentation

Create a transfer

Move money by providing the source, destination, and amount in the request body.

Read our transfers overview guide to learn more.

To access this endpoint using an access token you'll need to specify the /accounts/{accountID}/transfers.write scope.

Request

HTTP Method

POST

Endpoint

/accounts/{accountID}/transfers

Request Example (cURL)

curl -X POST "https://api.moov.io/accounts/{accountID}/transfers" \
  -H "Authorization: Bearer {token}" \
  -H "X-Moov-Version: v2026.04.00" \
  -d '{\
  "source": {\
    "paymentMethodID": "9506dbf6-4208-44c3-ad8a-e4431660e1f2"\
  },\
  "destination": {\
    "paymentMethodID": "3f9969cf-a1f3-4d83-8ddc-229a506651cf"\
  },\
  "amount": {\
    "currency": "USD",\
    "value": 32945\
  },\
  "amountDetails": {\
    "tip": {\
      "currency": "USD",\
      "valueDecimal": "3.50"\
    }\
  },\
  "description": "Transfer from card to wallet",\
  "metadata": {\
    "optional": "metadata"\
  }\
}'

Request Example (Go)

mc, _ := moov.NewClient()

var accountID string // Partner account

mc.CreateTransfer(ctx, accountID, moov.CreateTransfer{
  Amount: moov.Amount{
    Currency: "USD",
    Value:    100, // $1.00
  },
  Destination: moov.CreateTransfer_Destination{
    PaymentMethodID: "string",
  },
  Source: moov.CreateTransfer_Source{
    PaymentMethodID: "string",
  },
  Description: "Optional transaction description.",
})

Request Example (TypeScript)

import { Moov } from "@moovio/sdk";

const moov = new Moov({
  security: {
    username: "",
    password: "",
  },
});

async function run() {
  const result = await moov.transfers.create({
    xIdempotencyKey: "d6903402-776f-48d6-8fba-0358959d34e5",
    accountID: "ea9f2225-403b-4e2c-93b0-0eda090ffa65",
    createTransfer: {
      source: {
        paymentMethodID: "9506dbf6-4208-44c3-ad8a-e4431660e1f2",
      },
      destination: {
        paymentMethodID: "3f9969cf-a1f3-4d83-8ddc-229a506651cf",
      },
      amount: {
        currency: "USD",
        value: 32945,
      },
      description: "Transfer from card to wallet",
      metadata: {
        "optional": "metadata",
      },
      amountDetails: {
        tip: {
          currency: "USD",
          valueDecimal: "3.50",
        },
      },
    },
  });

console.log(result);
}

run();

Request Example (PHP)

declare(strict_types=1);

require 'vendor/autoload.php';

use Moov\