---
title: "Estimate transfer batch"
method: POST
path: "/v1/payments/transfer-batches/estimate"
tags: ["Payments"]
---

# Estimate transfer batch

`POST /v1/payments/transfer-batches/estimate`

Validates a transfer batch request and estimates transaction chunking and fees. This route is scaffolded; estimation is not implemented yet.

## Headers

- `x-project-id` string — Selects the active project for this request. Required for session/dashboard callers. Ignored when authenticating with an API key, whose scope is fixed to the key's project.

## Request body

- object — Estimate transaction chunking and fees for a transfer batch. Initial scaffold only; estimation is not implemented yet.
  - `projectId` string — Project identifier for the transfer batch context.
  - `externalId` string — Caller-provided batch correlation ID. Not used as an idempotency key.
  - `source` string, required — Source wallet — the `walletId` field returned by GET /v1/wallets. The wallet record `id` and the public key are not accepted.
  - `token` string, required — Token to transfer. Pass `SOL` for the native token, a well-known token symbol (e.g. `USDC`) resolved to the configured cluster's mint, or a base58 SPL mint address. Custom tokens must be specified by their on-chain mint.
  - `recipients` object[], required — Counterparty-account recipients to pay in this batch.
    - `externalId` string
    - `counterpartyId` string
    - `counterpartyAccountId` string, required
    - `amount` string, required
  - `options` object — Execution options for transaction chunking, priority fees, and preflight validation.
    - `maxRecipientsPerTransaction` integer
    - `priorityFee` 'none' | 'low' | 'medium' | 'high' | 'auto'
    - `preflight` boolean

## Response `200`

Transfer batch estimate

- object — Standard success response envelope.
  - `data` object, required — Transfer batch estimate response payload.
    - `estimate` object, required — Transfer batch estimate.
      - `recipientCount` integer, required — Requested recipient count.
      - `transactionCount` integer, required — Estimated number of Solana transaction chunks.
      - `estimatedFees` object, required — Estimated fee components.
        - `networkFeeLamports` string, required — Estimated base network fee in lamports.
        - `priorityFeeLamports` string, required — Estimated priority fee in lamports.
        - `tokenAccountRentLamports` string, required — Estimated rent needed for newly-created recipient token accounts.
        - `sponsored` boolean, required — Whether SDP sponsors transaction fees for this batch.
  - `meta` object, required — Response metadata.
    - `requestId` string, required — Request identifier for tracing.
    - `timestamp` string, date-time, required — ISO 8601 timestamp.

## Other responses

- `400` — Error
- `401` — Error
- `403` — Error
- `404` — Error
- `500` — Error

---

[API](https://skmtc.net/solana/apis/solana-developer-platform-api.md) · [All operations](https://skmtc.net/solana/apis/solana-developer-platform-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/solana/solana-developer-platform-api/revisions/672b1916ba61/schema)
