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.

POST

/accounts/{accountID}/transfers

Example request using CURL

curl -X POST "https://api.moov.io/accounts/{accountID}/transfers" \
  -H "Authorization: Bearer {token}" \
  -H "X-Moov-Version: v2026.07.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"
    },
    "tax": {
      "currency": "USD",
      "valueDecimal": "8.25"
    }
  },
  "description": "Transfer from card to wallet",
  "metadata": {
    "optional": "metadata"
  }
}'

Example request using 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.",
})

Example request using 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",
        },
        tax: {
          currency: "USD",
          valueDecimal: "8.25",
        },
      },
    },
  });

console.log(result);
}

run();

Example request using PHP

declare(strict_types=1);

require 'vendor/autoload.php';

use Moov\