A very common reason is a wrong site baseUrl configuration.\n

Current configured baseUrl = / (default value)\n

We suggest trying baseUrl = \n\n',document.body.prepend(n);var e=document.getElementById("__docusaurus-base-url-issue-banner-suggestion-container"),s=window.location.pathname,o="/"===s.substr(-1)?s:s+"/";e.innerHTML=o}document.addEventListener("DOMContentLoaded",(function(){void 0===window.docusaurus&&insertBanner()}))

Skip to main content
Version: 5.x

 

 


 

ink! is a programming language for smart contracts.
You can use it with blockchains built on Substrate.

Learn More

What is Polkadot's ink!?
» view page

Guided Beginners Tutorial
» view tutorial

Migrate to ink! 5.0
» view migration guide

Our Pitch

Inherent safety-guarantees with the Rust programming language.

Ability to use all the normal Rust tooling ‒ clippy, crates.io, IDE’s, etc.

Interoperability with Solidity contracts.


 


Clear migration path for graduating to a parachain.

Established industry standard for the compiler target.

Native to Polkadot. Complements your Substrate parachain perfectly.

Where can I deploy ink! contracts?

 

Smart Contract Examples

Our "Hello, World!".
» view example

An ERC-20 implementation.
» view example


An upgradeable contract.
» view example

A multi-signature wallet.
» view example

Allow runtime access.
» view example

Wallet Support

Contract InteractionsTokens (PSP-22)NFTs (PSP-34)
SubWallet
Polkadot{.js}
Talisman

You can read more on standards here.