Deploy a market for an asset

View as Markdown
Triggers on-chain deployment of a compliance-gated secondary market for a deployed asset. If the asset is not yet deployed on the target chain, the system will auto-bridge the asset first, then automatically deploy the market once the bridge completes — no extra user interaction needed. The deployment is processed asynchronously via CQRS — returns 202 Accepted immediately. Fee collection is configured with the org wallet as fee collector and Signum protocol wallet for protocol fees. Poll the market detail endpoint for deployment status updates.

Authentication

AuthorizationBearer

JWT access token from POST /auth/login or POST /oauth/token

OR
x-api-keystring

Organization-scoped API key created via POST /orgs/:orgId/api-keys. Carries permission grants.

Path parameters

orgIdstringRequired
assetIdstringRequired

Request

This endpoint expects an object.
chain_eiddoubleRequired

LayerZero endpoint ID of the target chain (defaults to HyperEVM 40362)

market_factory_addressstringRequired
Address of the market factory contract on the target chain
rwa_token_addressstringOptional

Address of the deployed RWA token on the target chain. If omitted and asset is not yet deployed on the target chain, the system will auto-bridge first.

regulation_typestringOptional

Regulation framework (reg_d | reg_s | reg_a_plus | reg_cf | none)

min_kyc_leveldoubleOptional
Minimum KYC level required
requires_accreditationbooleanOptional
Whether accredited investor status is required
blocked_countrieslist of stringsOptional

Blocked country codes (ISO 3166-1 alpha-3)

lockup_end_timedoubleOptional

Unix timestamp when lockup period ends (0 = no lockup)

max_holdersdoubleOptional

Maximum number of holders (0 = unlimited)

max_tokens_per_holderstringOptional

Max tokens per holder as string for precision (0 = unlimited)

taker_fee_bpsdoubleOptional

Taker fee in basis points (default: 30)

maker_fee_bpsdoubleOptional

Maker fee in basis points (default: 0)

Response

Response
acceptedboolean
marketIdstring
assetIdstring
chainEiddouble
statusstring
requestIdstring
messagestring

Errors

400
Bad Request Error
403
Forbidden Error
404
Not Found Error
409
Conflict Error
500
Internal Server Error