Skip to main content

Open Secondary Market Token

Controls whether a token is open to the secondary market, allowing or restricting secondary market trading. This call is asynchronous — the handler enqueues an OpenToSecondaryMarket transaction and returns HTTP 200 immediately. The secondary-market permission only flips on-chain once the wallet pipeline confirms the transaction.

Tracked in a separate collection

Unlike the other state-transition endpoints, this one writes its transaction record to secondary_market_transactions (not token_transactions). The type constant (OpenToSecondaryMarket = 11) is shared between collections — the data lives elsewhere. Use the secondary-market transaction endpoints in your tooling to observe completion. The same applies to OpenToOtc / AcceptOtcOffer / CancelOtcOffer flows, which use otc_transactions.

Request

POST /v2/admin/tokens/{token_id}/open-to-secondary-market

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_openbooleanRequired. Set to true to open the token to secondary market, false to restrict secondary market trading

Example

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

Response

A successful response returns an empty object:

{}

Status Codes

Status CodeDescription
200Success - Token's secondary market status has been updated successfully
400Bad Request - Invalid request parameters
401Unauthorized - Invalid or missing authentication token
404Not Found - Token ID does not exist
500Internal Server Error