Hedera Smart Contract API

Get started View docs

Write in Solidity, run on Hedera

Smart contracts make it possible to build an entirely new class of application. Whether you’re creating a decentralized bidding marketplace or tokenizing a piece of land, the Hedera Smart Contract API enables you to deploy and run Solidity smart contracts on the Hedera public network.

Build Using Solidity
Start your application from the ground-up — or port over existing Solidity code in minutes. The Hedera Smart Contract service runs Solidity, unchanged, on the Hedera network.
Remove intermediaries
With a decentralized network, we’re no longer forced to rely on costly intermediaries to establish trust. You can programmatically verify data, like the count of a song played, or act as an escrow service – all defined in a smart contract.
Predictable performance
Smart contracts are run in the order they are received on the Hedera network. By processing smart contracts in parallel using realms, you have greater performance and reliability.

Smart Contract API and network features

Solidity support

The Hedera Smart Contracts service fully supports the open source Solidity language. Meaning you can drop in Solidity code and take advantage of popular community tools and frameworks.

Scalable realms

Smart contracts on Hedera can be run within realms — a defined portion of the network, isolated to execute a smart contract – which will make it possible to process multiple smart contracts simultaneously.

Tokenized assets

With smart contracts, you can tokenize the deed to a home, a rare in-game item, or even create your own token with defined characteristics and ownership. Hedera supports Solidity community standards, such as ERC-20 and ERC-721 tokens.

Binding arbitration

When you create a smart contract on Hedera you can optionally set admin keys to enable binding arbitration that can change it. Or don't; it's up to you.

Fair ordering

Hedera doesn't allow any single node to influence a transaction's ordering. Your smart contracts are processed in the order they are received, not based on how much gas you’re willing to pay.

Best-in-class security

Hedera Smart Contract takes advantage of the hashgraph consensus algorithm’s proven, asynchronous Byzantine fault tolerance, to keep your application running.

Run smart contracts

Add a Solidity file to Hedera to use the Hedera Smart Contract API to create, update, and query a smart contract's state.


Create contract
  • Create contract
  • Call contract

// Create the contract from existing bytecode file

        var contractTx = new ContractCreateTransaction(client)




        var contractReceipt = contractTx.executeForReceipt();


        var newContractId = Objects.requireNonNull(contractReceipt.getContractId());

        System.out.println("new contract ID: " + newContractId);

//Creates and submits the query

       var contractCallResult = new ContractCallQuery(client).setGas(30000)




        var message = contractCallResult.getString();

        System.out.println("contract message: " + message);

"Hedera will make it easy to port our existing Solidty smart contracts and get up to speed quickly. We’re excited for the future of tokenized assets to provide greater access and liquidity for everyone."

Don Oparah
Head of Technology

Tokenize everything

Define unique assets, ownership, and more with Solidity smart contracts. Smart contracts are well suited for managing assets and unlocking further value. Take an example of tokenized real estate.

1: Tokenize asset

Create and deploy a Solidity smart contract to create a token representing a unique asset or security. A great example being a plot of land.

2: Exchange asset

Instantiate a smart contract to enable an atomic swap. This allows parties to exchange an asset for cryptocurrency without an intermediary.

3: Perform swap

Buyer and owner submit a transaction with signatures that cause the asset and payment to simultaneously change owners.

4: State proof

Optionally request a state proof, a mathematical guarantee, that proves the transaction was completed, and which ledger it was on.

A network for decentralized applications

Explore other Hedera network services to enable fast payments and manage files.

Consensus Service

Build directly on hashgraph

Create scalable and publicly verifiable timestamps and ordering of events for any application. Track assets on a supply chain, count music streams for digital rights, or log digital asset transfers.

Enable fast, low fee payments

Cryptocurrency payments allow you to transact without intermediaries to lower costs and make complex payments simple with code.
File Service

Sign and verify files

Create and manage files, with guaranteed visibility, acting as a revocation service for credentials. Hedera uniquely enables the ability to prove GDPR compliance with controlled mutability.

Ready to start building?

Join a testnet or view the docs