---
title: "Internal Transfer"
method: POST
path: "/v1/account/internal-transfer"
---

# Internal Transfer

`POST /v1/account/internal-transfer`

Submit a signed internal ledger transfer between two exchange accounts.
Requires proxy signature using the standard signed-op flow.

## Request body

- InternalTransferRequest
  - `op` OpInternalTransfer, required
    - `type` 'internalTransfer', required
    - `args` object, required
      - `account` string, required — Account address in hex format
      - `token` string, required — Token contract address in hex format
      - `amount` string, required — Token amount in decimal units (e.g. "100" for 100 USDC).
      - `to` string, required — Destination address in hex format
  - `sig` string, required — Signature in hex format
  - `salt` integer, required — Salt
  - `ts` integer, required — Request timestamp. Unix milliseconds for most operations; Unix seconds for withdrawals (must match the on-chain EIP-712 struct verified against block.timestamp).
  - `label` string — Human-readable label for a proxy key or internal transfer

## Response `200`

The accepted transfer, carrying its `transfer_id`.

- InternalTransferAccepted
  - `status` 'ok', required
  - `transfer_id` integer, required — Internal transfer ID

## Other responses

- `400` — Bad request — the request was malformed or failed validation (bad query parameters, unparseable body, invalid signature, or a domain pre-check). The `error` field is a human-readable validation detail.
- `422` — The transfer was rejected on its merits (e.g. insufficient balance, transfer to self). The body carries `transfer_id` and `error`.
- `429` — Too Many Requests. `error` distinguishes the limit that was hit: `ip_rate_limited` (per-IP token bucket), `action_rate_limited` (per-account action rate), or `open_orders_limit` (resting open-order cap).
- `500` — Internal server error. `error` is `internal_error`.

---

[API](https://skmtc.net/polymarket/apis/polymarket-perps-http-api.md) · [All operations](https://skmtc.net/polymarket/apis/polymarket-perps-http-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/polymarket/polymarket-perps-http-api/revisions/76e4e47cf3aa/schema)
