Deploy a smart contract

Deploy a new smart contract to the blockchain through automated workflows. The deployment includes bytecode validation, policy evaluation, approval workflow (if required), gas estimation, signing, and confirmation tracking.

Request Body

FieldTypeRequiredDescription
sender.vaultIdUUIDYesDeploying vault identifier
chainIdnumberYesTarget blockchain network ID
bytecodestringYesContract bytecode (0x prefixed hex)
constructorParamsarrayNoConstructor parameters with type/value
valuestringNoNative currency to send (default: "0")
gasLimitstringYesMaximum gas units (typically 500000-5000000)
gasPricestringNoLegacy gas price in Gwei
maxFeePerGasstringNoEIP-1559 max fee per gas in Gwei
maxPriorityFeePerGasstringNoEIP-1559 priority fee in Gwei
performChainalysisScreeningbooleanNoEnable compliance screening

Constructor Parameters Array

Each parameter object includes:

FieldTypeDescription
typestringSolidity type (e.g., address, uint256, string)
valuestring/number/booleanParameter value matching the type

Deployment Workflow

  1. Validation — Validates bytecode and constructor parameters
  2. Encoding — Encodes constructor parameters
  3. Policy Evaluation — Checks against organization policies
  4. Approval — Requests approval if policy requires
  5. Gas Estimation — Estimates gas if not provided
  6. Signing — Signs deployment transaction
  7. Broadcast — Submits to blockchain
  8. Confirmation — Waits for block confirmation

Response Fields

FieldTypeDescription
workflowIdstringTemporal workflow ID for tracking
transactionIdUUIDTransaction record identifier
statusstringInitial transaction status
contractAddressstringDeployed contract address (after confirmation)

Use Cases

  • Deploy ERC-20 token contracts
  • Deploy ERC-721 NFT collections
  • Deploy custom smart contracts
  • Deploy multi-sig wallet contracts
  • Deploy DeFi protocol contracts

Required Permission

contracts:deploy