Smart Contract Studio
Harness the power of our platform to deploy smart contracts. Access our interactive wizard and templates for ERC721, ERC1155, ERC20, and more.
Last updated
Harness the power of our platform to deploy smart contracts. Access our interactive wizard and templates for ERC721, ERC1155, ERC20, and more.
Last updated
Smart contracts are self-executing contracts with predefined rules and conditions encoded on the blockchain. They automate the execution of agreements and transactions between parties without the need for intermediaries. Smart contracts enable the creation of decentralized applications and the execution of complex operations on the blockchain, such as managing digital assets, executing business logic, and facilitating interactions between users.
Ethereum (Main Net and Test Nets like Goerli and Sepholia)
Polygon (Main Net and Test Net Mumbai)
Avalanche (Main Net and Test Net Fuji)
Arbitrum (Main Net and Test Net Goerli)
Optimism (Main Net and Test Net Goerli), and more.
Login --> DApp Studio --> Build It --> Easy Builder --> Launch Smart Contract Studio
The Contract List page opens,
When logged in for the first time, this page will not have any contracts.
The Instance details are displayed on this page. The details are,
API Key
Project Name
Instance ID
Total number of contracts in the instance
Click on the Add Contract button to add your first contract.
Click on the Deploy New Contract button. This navigates to a page that has a list of templates.
The following templates are available to use,
ERC20
ERC721
ERC1155
Custom
ERC-20 Token (Fixed Supply)
Payment Splitter v1
ERC20DAOToken v2
AyAy Receiver
StakingRewards
StakingERC721
Each Template has a different set of steps based on the contract's intended application.
A custodial wallet needs to be connected to the application. This can be done from the Custodial Wallet sub-menu under the Core Web3 Services side menu.
Choose the Chain for the collection from the dropdown
Choose the Wallet that you want to use for deploying this contract
Enter the Name, Symbol, and value for the contract
Select the required Features for the contract. Multiple features can be selected. The features available for this contract are,
Mintable - Privileged accounts will be able to create more supply.
Burnable - Token holders will be able to destroy their tokens.
Pausable - Privileged accounts will be able to pause the functionality marked as whenNotPaused
. Useful for emergency response.
Permit - Without paying gas, token holders will be able to allow third parties to transfer from their accounts.
Votes - Keeps track of historical balances for voting in on-chain governance, with a way to delegate one's voting power to a trusted account.
Flash Minting - Built-in flash loans. Lend tokens without requiring collateral as long as they're returned in the same transaction.
Snapshots - Privileged accounts will be able to store snapshots of balances that can be retrieved later. For on-chain voting, the Votes option is preferable.
Select the Access Control type and Upgradeability type if required.
The options are,
Ownable - Simple mechanism with a single account authorized for all privileged actions.
Roles - Flexible mechanism with a separate role for each privileged action. A role can have many authorized accounts.
The options are,
Transport - Uses a more complex proxy with higher overhead, and requires fewer changes in your contract. Can also be used with beacons.
UUPS - Uses simpler proxy with less overhead, and requires including extra code in your contract. Allows flexibility for authorizing upgrades.
Enter the email id.
As you select and enter the different options for the contract, the code is displayed on the right side of the screen.
Click the Deploy button to deploy the contract.
Choose the Chain for the collection from the dropdown
Choose the Wallet that you want to use for deploying this contract
Enter the Name, Symbol, and for the contract
Select the required Features for the contract. Multiple features can be selected. The features available for this contract are,
Mintable - Privileged accounts will be able to create more supply.
Auto Increment IDs - New tokens will be automatically assigned an incremental id.
Burnable - Token holders will be able to destroy their tokens.
Pausable - Privileged accounts will be able to pause the functionality marked as whenNotPaused
. Useful for emergency response.
Votes - Keeps track of individual units for voting in on-chain governance, with a way to delegate one's voting power to a trusted account.
Enumerable - Allows on-chain enumeration of all tokens or those owned by an account. Increases gas cost of transfers.
URL Storage - Allows updating token URIs for individual token IDs.
Select the Access Control type and Upgradeability type if required.
The options are,
Ownable - Simple mechanism with a single account authorized for all privileged actions.
Roles - Flexible mechanism with a separate role for each privileged action. A role can have many authorized accounts.
The options are,
Transport - Uses a more complex proxy with higher overhead, and requires fewer changes in your contract. Can also be used with beacons.
UUPS - Uses simpler proxy with less overhead, and requires including extra code in your contract. Allows flexibility for authorizing upgrades.
Enter the email id.
As you select and enter the different options for the contract, the code is displayed on the right side of the screen.
Click the Deploy button to deploy the contract.
Choose the Chain for the collection from the dropdown
Choose the Wallet that you want to use for deploying this contract
Enter the Name and for the contract
Select the required Features for the contract. Multiple features can be selected. The features available for this contract are,
Mintable - Privileged accounts will be able to create more supply.
Burnable - Token holders will be able to destroy their tokens.
Pausable - Privileged accounts will be able to pause the functionality marked as whenNotPaused
. Useful for emergency response.
Supply Tracking - Keeps track of the total supply of tokens.
Updatable URL - Privileged accounts will be able to set a new URI for all token types. Clients will replace any instance of {id} in the URI with the tokenId.
Select the Access Control type and Upgradeability type if required.
The options are,
Ownable - Simple mechanism with a single account authorized for all privileged actions.
Roles - Flexible mechanism with a separate role for each privileged action. A role can have many authorized accounts.
The options are,
Transport - Uses a more complex proxy with higher overhead, and requires fewer changes in your contract. Can also be used with beacons.
UUPS - Uses simpler proxy with less overhead, and requires including extra code in your contract. Allows flexibility for authorizing upgrades.
Enter the email id.
As you select and enter the different options for the contract, the code is displayed on the right side of the screen.
Click the Deploy button to deploy the contract.
This template is used to create a custom contract by using your own code. The code can be pasted in the code area on the right side of the screen.
Choose the Chain for the collection from the dropdown
Choose the Wallet that you want to use for deploying this contract
Enter the Name for the contract.
Click the Deploy button to deploy the contract.
Choose the Chain for the collection from the dropdown
Choose the Wallet that you want to use for deploying this contract
Enter the Name for the contract.
Enter the input parameters such as Token Name and Token Symbol.
The code for the contract is displayed on the right side of the screen.
Click the Deploy button to deploy the contract.
Choose the Chain for the collection from the dropdown
Choose the Wallet that you want to use for deploying this contract
Enter the Name for the contract.
The code for the contract is displayed on the right side of the screen.
Click the Deploy button to deploy the contract.
Once the contract is deployed, a contract card is created on the Contracts list page for the instance
Each Contract card has a View Details button to view more details of the contract. Clicking this button will open the Contract Details page
This page displays all the details of the contract. The firs section displays details such as,
Project Name
Instance ID
Contract Address
Contact Name
Chain ID
Network
Four widgets to see the contract activity is available. The widgets are,
Overall Transactions
Total Balance
Chain ID and Chain Name
Number of Unique address interactions
A transaction table is displayed as well. This table shows the details of different transactions using the contract.
From the Instance page, click on an instance. The Contract List page is opened
From the Contract list page, click on the Add Contract button. The add contract pop-up is opened.
Select the Load Existing Contract button. The Load Contract pop-up is opened.
Choose the Chain for the collection from the dropdown.
Enter the Name, Contract, and Abi code for the contract
Click on the Load button to load the contract.
The Web3. JS framework allows developers to interact with Ethereum smart contracts using Javascript Node. js. The framework consists of modules with specific functions
Open Smart Contract Studio --> Instance --> Contract List --> Contract Details Page
Click on the Interact with Contract button.
The Interact With Contract Page is opened. This page displays the basic contract details such as
Project Name
Instance ID
Contract address
Contact Name
Before the interaction, a wallet should be connected using the Connect Wallet button
The connected wallet can be disconnected using the Disconnect button as shown in Step 3
Different contract standards have different functions.
Description