---
title: "Transfer Tokens"
method: POST
path: "/accounts/{account_id}/tokens/transfers"
tags: ["Orders"]
---

# Transfer Tokens

`POST /accounts/{account_id}/tokens/transfers`

## Request

- Base URL: `https://api.brale.xyz`
- URL: `https://api.brale.xyz/accounts/{account_id}/tokens/transfers`
- Auth: OAuth 2
  - Client credentials
  - Token URL: `https://auth.brale.xyz/oauth2/token` scopes: `self_attested_tokens:transfer`

Transfer attested tokens between addresses on the same blockchain. Only available for tokenization/self-attested accounts.

## Path parameters

- `account_id` string, required: ID of the resource

## Request body

- CreateTokenizationTransfer
  - `amount` string, required: Amount to transfer as a decimal string
  - `destination` TransferDestination, required
    - `address_id` string, required: Destination Brale address ID
    - `transaction_id` string, nullable: On-chain transaction hash
    - `transfer_type` string, required: Blockchain/chain name
    - `value_type` string, required: Token ticker
  - `source` TransferSource, required
    - `address_id` string, required: Source Brale address ID
    - `transaction_id` string, nullable: On-chain transaction hash
    - `transfer_type` string, required: Blockchain/chain name
    - `value_type` string, required: Token ticker

## Response `201`

OK

- TokenizationTransferResponse
  - `amount` string: Amount transferred
  - `created_at` string, date-time
  - `destination` object
    - `address` string: Destination blockchain address
    - `transaction_id` string, nullable: On-chain transaction hash
    - `transfer_type` string: Blockchain name
  - `id` string: Order ID
  - `source` object
    - `address` string: Source blockchain address
    - `transaction_id` string, nullable: On-chain transaction hash
    - `transfer_type` string: Blockchain name
  - `status` string: Transaction status
  - `updated_at` string, date-time

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Forbidden

## Changes

- **2026-07-13** `d934fd29acc3`: 3 breaking, 4 info
  - media type `application/vnd.api+json` was changed to a more general media type `application/json` for the response status `201`
  - media type `application/vnd.api+json` was changed to a more general media type `application/json` for the response status `401`
  - media type `application/vnd.api+json` was changed to a more general media type `application/json` for the response status `403`
  - added the new optional request property `destination/transaction_id`
  - …3 more
- **2026-02-07** `4f67c6cbfdb8`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/brale/apis/brale-api/changes/accounts/:account_id/tokens/transfers/post.md)

---

[API](https://skmtc.dev/brale/apis/brale-api.md) - [All operations](https://skmtc.dev/brale/apis/brale-api/llms.txt) - [OpenAPI document](https://skmtc.dev/brale/apis/brale-api/revisions/3378b8f911e0?raw)
