Skip to main content

Deploy Setup Contracts

Continues the contract deployment of an existing setup. Create Node Setup already starts the deploy, so you need this call only to retry: a contract is sent again only while it is undeployed and its last attempt is missing or failed, so after a failure this picks up at the contract that failed and leaves the deployed ones alone. On a setup whose deployment is complete or still running it queues no transaction.

There is no body: the setup already fixes the network, the signing wallet and the fees.

The deploy is asynchronous and runs in this order: diamond-cut facet, diamond, diamond-loupe facet, ownership facet, fee, burn, rent, OTC, secondary-market and listing facets, then ExecuteDiamondCut (type 29) wires the facets into the diamond. Each step is a node transaction stamped with the setup's setup_id. Poll Get Setup Contract Status; read a failure reason from List Node Transactions.

Required permission: contract:deploy

Request​

POST /v2/admin/nodes/{node_id}/setups/{setup_id}/deploy

Parameters​

NameTypeInDescription
node_idstringpathRequired. The node's id
setup_idstringpathRequired. The setup to deploy

Headers​

NameDescription
AuthorizationRequired. Bearer <access_token>

Example​

curl --request POST \
--url '{{baseUrl}}/v2/admin/nodes/6a4bef2b1e781b11c22e9707/setups/6a552db09c6088e126a4be87/deploy' \
--header 'Authorization: Bearer <access_token>'

Response​

200 OK with an empty body. It means the next step was queued (or that nothing was left to do), not that the contracts are deployed.

Errors​

StatusCodeDescription
40010015The setup does not exist or belongs to another node
40010016node_id or setup_id is not a valid id
40010001Node not found (node domain 2)
40010021The setup has no wallet or network recorded (node domain 2)
40010022The KYC token the setup is wired to is not deployed (node domain 2)
40310005The node is outside your part of the hierarchy (node domain 2)

See Errors for the error format and common codes.