What is the thirdweb "Publish Contract" Feature?
Jem
Contracts
Transparency and accessibility are at the core of blockchain’s promise. At thirdweb, we are committed to both principles: making blockchain development easier while maintaining our open-source ethos. The Publish feature is a testament to that mission. By allowing developers to publish, verify, and share smart contracts with ease, Publish not only upholds the open-source ethos of blockchain but also removes friction in smart contract deployment, making Web3 more accessible for everyone.
But what is it exactly?
What is the Publish Feature?
thirdweb's Publish feature allows developers to share smart contracts so they are deployable to anyone in the ecosystem. By making smart contracts more discoverable and easy to use, the Publish feature enables a more open, collaborative, and transparent development environment.
What you get is simple:
A shareable contract page with README, sources, ABI & audit information
Onchain attribution to the publisher, letting users see who built the contract with ease.
One-click deploy on any EVM chain
Version control and customizable changelogs
Auto-verification on block explorers.
Why Publish a Smart Contract with thirdweb
If you’re building smart contracts, you might wonder why you’d bother publishing them in the first place. Here are some of the top reasons you might want to get started:
To Unlock Simple Integration
The publish feature offers on-click deployment on any EVM chain, meaning anyone can deploy and publish a contract with ease. Plus with a shareable link, any external developer can access your contract page and start building with it.
To Increase Your Discoverability
Contracts published through Publish may be featured on thirdweb’s Explore page. Plus, every contract has onchain attribution to the publisher, so users can see who created each contract directly on the blockchain. If you’re looking to increase your visibility and encourage users to integrate your contract, this is your chance!
To Contribute to the Open Source Community
Publish offers an opportunity for web3 devs to contribute to the open-source community—and without needing to manage on-chain discoverability, versioning, or documentation manually. This allows for a more open, transparent, and developer-friendly experience.
Get started with thirdweb Contracts →
thirdweb Contracts: Key Features of Publish
Let’s dive into the features you can unlock by publishing a contract with thirdweb:
Version Control for Transparency
Keeping track of changes and managing multiple smart contract versions is essential for security, auditing and clarity. The Publish feature helps you keep track of every iteration of a contract, providing a transparent history of updates and modifications.
With these detailed changelogs, you can track modifications over time and even access previous versions! The feature also eliminates confusion around which contract version is the most up-to-date.
Enhanced Documentation for Better Accessibility
Comprehensive documentation is key to ensuring that smart contracts are understood and used effectively. With Publish, developers can add metadata such as logos, descriptions, and README files, making it clear what a contract does and how it should be used.
No need to trawl multiple forums or message dev friends on Discord: publish offers clarity and usability, ensuring that other developers understand the contract’s purpose and functionality.
Deployment Flexibility Across Chains
Web3 development shouldn't be restricted to a single blockchain. The Publish feature enables developers to publish contracts on any EVM-compatible chain and receive a single, shareable link. This removes the complexity of multi-chain deployment and ensures that smart contracts are easily accessible wherever they are needed.
Simplified Deployment with Pre-Set Parameters
Deploying and configuring smart contracts can be time-consuming, especially when dealing with complex configurations. Publish allows developers to set default parameters, ensuring that contracts are pre-configured for immediate deployment. This reduces friction for end users, allowing them to deploy contracts without extensive customization.
Additionally, dependent contracts can be linked and managed automatically, streamlining workflows and eliminating manual setup steps. By automating these processes, Publish allows developers to focus on building rather than troubleshooting deployments.
Learn more about thirdweb Contracts in the technical docs
How to Publish Your Contract
Step 1: Head to the thirdweb dashboard and run the following command in the CLI .
This command will:
Compile your smart contract.
Upload the solc metadata of your contract (ABI, sources, natspec) to IPFS
Open the publish flow in the dashboard.
Step 2: Configure Contract Metadata
Next, provide the metadata for your smart contract including:
Name
Image
Description
README - Markdown is supported. What your contract does, common use cases & examples are great things to include here.
Step 3: Add A Version & Audit Report (Optional)
Use semantic versioning to incrementally publish new versions of your smart contract; and add optional release notes to describe your changes. This is ideal for when you want to make changes to your smart contract but don't want to break existing integrations. Each version of your smart contract is stored onchain and can be deployed by anyone.
You can also link each version to an audit report. You can paste a link to it, or drag and drop a PDF. We will generate an IPFS link for you.
Step 4: Choose how users will deploy your published contract
Select the contract type for your published contract. Choosing Direct Deploy, if your contract does not follow the upgradeable contract pattern; or Deploy via Factory if you would like users to deploy proxies of your contract.
Step 5: Choose which network(s) to publish your contract to
Select the network(s) you would like to publish your contract. You can select multiple networks or any EVM.
Step 6: Customize Contract Parameters
Help users deploy your smart contract by changing how your contract parameters are displayed and what default values to use. You can even hide some advanced parameters with defaults under an advanced section to simplify deployment for your users.
Step 7: Publish the Smart Contract
Finally, click the "Publish Contract" button to publish your smart contract to the onchain registry. The registry currently lives on Polygon, deployed at 0xf5b896Ddb5146D5dA77efF4efBb3Eae36E300808.
For the full instructions, check out the technical docs on publishing smart contracts here.
Get your contract out there with Publish
thirdweb’s Publish feature is a direct reflection of our mission: to make Web3 development easier while upholding blockchain’s core principles of transparency and openness. By simplifying the process of sharing, verifying, and deploying smart contracts, Publish removes common pain points for developers while making blockchain technology more accessible to all.
Whether you're contributing to the open-source ethos of blockchain or just looking for an easier way to manage contract deployments, Publish empowers developers to build with confidence and efficiency.
With thirdweb, Web3 development is no longer complex—it’s intuitive, transparent, and open to everyone.