Skip to main content
Kwala lets you deploy smart contracts to any supported chain from a single workflow. You only provide the target chain ID and upload the smart contract ‘.sol` file or paste your Solidity contract code, which can be used to extract the complied bytecode and contract ABI. Kwala will then handle the deployment for you. You use the deploy action type to deploy a new smart contract to a blockchain network. You can also use deploy actions to deploy Kwala Functions, which enable custom on-chain decision logic. The following example deploys an NFT contract to Ethereum mainnet with constructor parameters for name, symbol, and initial supply:
actions:
  - name: "Deploy NFT Contract"
    type: "deploy"
    bytecode: "0x60806040523480156200001157600080fd5b50..."
    encodedABI: "0x..."
    initializationArgs:
      - "MyNFT"
      - "NFT"
      - "1000"
    chainID: 1
    metadata: "NFT deployment on Ethereum mainnet"
    retriesUntilSuccess: 3

Required fields

The following fields are required to deploy a smart contract using Kwala:
FieldDescription
nameUnique identifier for this action
typeMust be "deploy"
bytecodeThe compiled contract bytecode (hex string)
encodedABIABI-encoded constructor parameters
initializationArgsArray of constructor arguments
chainIDTarget blockchain network ID
When using the visual workflow builder to deploy your smart contract, upload your .sol file or paste Solidity code directly, and the bytecode and ABI are auto-populated. See Configure a workflow for step-by-step instructions.

Next steps