Skip to main content

Public Transfer Token

Sets a token's public transfer status, controlling whether it can be transferred outside the platform. This call is asynchronous — the handler enqueues a PublicTransferToken blockchain transaction and returns HTTP 200 immediately. The transfer permission only flips on-chain once the wallet pipeline confirms the transaction. Poll List Token Transactions to observe completion.

Request

POST /v2/admin/tokens/{token_id}/public-transfer

Parameters

NameTypeInDescription
token_idstringpathRequired. The ID of the token to update

Headers

NameDescription
AuthorizationRequired. Bearer token for authentication
Content-TypeRequired. Must be application/json

Request Body

NameTypeDescription
is_publicbooleanRequired. Set to true to allow external transfers, false to restrict transfers to the platform

Example

curl --request POST \
--url '\{\{baseUrl\}\}/v2/admin/tokens/67d8774e903bfcbe7eb5d93e/public-transfer' \
--header 'Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...' \
--header 'Content-Type: application/json' \
--header 'User-Agent: insomnia/10.3.1' \
--data '{
"is_public": true
}'

Response

{
"transaction_id": "6a8b5e13f9129816a6cc7a12"
}

Response Fields

FieldTypeDescription
transaction_idstringThe token transaction started by this call. Poll it with Get Transaction By ID; the flag flips only when it reports status: 3 (Done)

This call used to answer 200 with an empty object, which gave the caller nothing to follow the settlement with.

Status Codes

Status CodeDescription
200Success - the change has been started
400Bad Request - invalid request parameters or unknown token
401Unauthorized - invalid or missing authentication token
409Conflict - is_public already holds the requested value (code 10027), or a change to it is already in flight (code 10028)
500Internal Server Error

Notes

  • A 200 means the transaction was started, not that public transfer is open. is_public flips when the transaction settles.
  • The two 409s are deliberately distinct. 10027 says the flag already reads what you asked for and nothing more will happen; 10028 says the change you asked for is happening and you should wait for it. The flag alone cannot tell them apart, because it only moves once the change settles.