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

# Force Transfer

> Transfer tokens between addresses without holder approval

Executes a forced transfer of tokens from one address to another, bypassing the standard transfer approval flow. This is a regulatory action typically used for court-ordered transfers, error corrections, or compliance enforcement. Requires the `CONTROLLER` role.

## Path Parameters

<ParamField path="tokenAddress" type="string" required>
  Address of the stock token contract.
</ParamField>

## Request Body

<ParamField body="from" type="string" required>
  Ethereum address to transfer tokens from.
</ParamField>

<ParamField body="to" type="string" required>
  Ethereum address to transfer tokens to.
</ParamField>

<ParamField body="amount" type="string" required>
  Number of tokens to transfer. Must be greater than zero.
</ParamField>

<ParamField body="reason" type="string">
  Reason for the forced transfer, stored in the event log for audit purposes.
</ParamField>

## Response Fields

<ResponseField name="data" type="object">
  <Expandable>
    <ResponseField name="success" type="boolean">Calldata was built successfully.</ResponseField>

    <ResponseField name="txData" type="object">
      The unsigned transaction. `to` is the token contract, `data` is the encoded `forceTransfer` call, and `value` is always `"0"`.
    </ResponseField>
  </Expandable>
</ResponseField>

<Note>
  Nothing is submitted on your behalf. Sign `txData` with a wallet holding the required role on the token and broadcast it yourself.
</Note>

<RequestExample>
  ```bash cURL theme={null}
  curl -X POST "https://api.trusset.org/stocks/api/manage/0x1234.../force-transfer" \
    -H "Content-Type: application/json" \
    -H "X-API-Key: trusset_abc123xy_secret..." \
    -d '{
      "from": "0xAbC123dEf456789012345678901234567890AbCd",
      "to": "0x9876543210fedcba9876543210fedcba98765432",
      "amount": "100",
      "reason": "Court order #12345"
    }'
  ```

  ```typescript TypeScript theme={null}
  const response = await fetch(
    `https://api.trusset.org/stocks/api/manage/${tokenAddress}/force-transfer`,
    {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json',
        'X-API-Key': 'trusset_abc123xy_secret...'
      },
      body: JSON.stringify({
        from: '0xAbC123dEf456789012345678901234567890AbCd',
        to: '0x9876543210fedcba9876543210fedcba98765432',
        amount: '100',
        reason: 'Court order #12345'
      })
    }
  );
  const { data } = await response.json();
  ```
</RequestExample>

<ResponseExample>
  ```json Response theme={null}
  {
    "success": true,
    "data": {
      "success": true,
      "txData": {
        "to": "0x1234567890abcdef1234567890abcdef12345678",
        "data": "0xf6a7b8c9...",
        "value": "0"
      }
    },
    "metadata": {
      "requestId": "550e8400-e29b-41d4-a716-446655440000",
      "timestamp": "2025-06-15T12:00:00.000Z",
      "instanceId": "inst_abc123"
    }
  }
  ```
</ResponseExample>
