New: Contract Studio is live

The Developer Toolkit for Polkadot

Build and submit any substrate extrinsic visually, write Solidity smart contracts, and deploy to Polkadot Hub - all from your browser.

Web3 FoundationWeb3 Foundation
PolkadotPolkadot
SubstrateSubstrate
DedotDedot
Relaycode Demo — bi-directional extrinsic builder
New on Polkadot Hub

Write, Compile, Deploy - All in Your Browser

The first native smart contract IDE for Polkadot Hub. Write Solidity, compile to PolkaVM, and deploy with Polkadot wallets - no CLI, no MetaMask, no fragmented toolchain.

relaycode.org/studio
Files
PolkaSwap.sol
Router.sol
IPool.sol
+ New File
PolkaSwap.sol
Router.sol
IPool.sol
1// SPDX-License-Identifier: MIT
2pragma solidity ^0.8.20;
3
4import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
5import "@openzeppelin/contracts/access/Ownable.sol";
6
7contract PolkaSwap is ERC20, Ownable {
8 mapping(address => uint256) public liquidity;
9 uint256 public totalLiquidity;
10
11 constructor() ERC20("PolkaSwap", "PSWAP") Ownable(msg.sender) {
12 _mint(msg.sender, 1000000 * 10 ** decimals());
13 }
14
15 function addLiquidity() external payable {
16 liquidity[msg.sender] += msg.value;
17 totalLiquidity += msg.value;
18 }
19}
OutputCompiled(PolkaSwap.sol:PolkaSwap)
Compiled successfully (PolkaSwap.sol:PolkaSwap)
Warning: SPDX license identifier not provided in source file
Compile
EVM
PVM (Polkadot)
Compile
PolkaSwap
9,265 bytes · 52 ABI entries
Compiled
Deploy
admin address
0x...
Deploy
Westend Asset Hub
PVM
Compiled

Designed for Polkadot from Day One

Every part of Studio understands substrate extrinsics, Polkadot wallets, and the PolkaVM compilation target.

EVM
toggle
PVM
Same Solidity source

Dual Compiler

Toggle between EVM and PVM with one click. Same Solidity source, two compilation targets, zero context switching.

import "@openzeppelin/..."
AccessControl
ReentrancyGuard
Pausable
resolved from npm

OpenZeppelin Ready

Import @openzeppelin/contracts and it just works. Dependencies resolved from npm at compile time, no local toolchain.

Talisman
SubWallet
PolkadotJS

Native Deploy

Sign with Talisman or SubWallet. Deploy via substrate extrinsics, not MetaMask. Gas estimation from live chain dry-runs.

Developers
💙 Relaycode

We created Relaycode to solve our own issues around complex chain data and encoding in Polkadot. Our goal is to let users and developers focus on building instead of dealing with the intricacies of Polkadot.

Live Input Encoding

Watch your inputs transform into chain-specific data in real-time

Contextual Guides

No more pallet guessing or converting parameters again

Type-Safe Building Blocks

Build your own forms and catch input failures for 100+ substrate primitives

Built for the Polkadot ecosystem

Web3 FoundationWeb3 Foundation
PolkadotPolkadot
SubstrateSubstrate
DedotDedot

Our Extrinsic Builder is live on Polkadot

Seriously – it's easier than DeFi on Ethereum.

relaycode.org/builder
Relaycode Extrinsic Builder

From 'Huh?' to 'Aha!' in 3 Steps

1

Pick what you want to do

Choose from staking, NFTs & more

2

Fill human-friendly forms

No more cryptic methods and parameters

3

We handle the encoding

All the Polkadot SCALE magic, automated

All Pallets Supported

Staking • Governance • XCM • Assets • Crowdloans + 40+ more

Staking
Governance
XCM
Assets
Crowdloans
Utility

Bi-Directional Editing

Toggle form inputs and encoded data • Perfect sync with real-time validation

Wallet-Ready Workflow

Polkadot.js • Talisman • Nova • SubWallet - Connect & Sign in 1 Click

One-Click Templates

Get React/TypeScript snippets for your dApp's integration

LIVE

Components that speak Substrate

Every input understands Polkadot's type system out of the box. Validation, encoding, and edge cases handled -- so you ship dApps, not workarounds.

Account Input

SS58 validation, wallet connect, recent addresses

<Account client={client} onChange={setAddress} />
Preview
Destination
15oF4uVnB...R7xkwQ1
Valid
Connected wallet
Address book

Substrate Utilities

Essential tools for developers and teams building on Substrate.

Try instant Text/SCALE Conversion

0x48656c6c6f20506f6c6b61646f74
Live

Multi-Format Address Converter

Convert between different address formats across chains

Live

SCALE Codec Playground

Encode and decode SCALE format data

Coming Soon

Runtime API Explorer

Browse and test runtime APIs

Coming Soon

Transaction Metadata Analyser

Deep dive into transaction metadata

Suggest a Tool

Trusted By Builders

See what developers are saying about their experience with Relaycode

Relaycode reduced our failed transactions by 80% - finally a builder that speaks human *and* chain.
Lead Developer·Coong

Built for the Polkadot ecosystem

Web3 FoundationWeb3 Foundation
PolkadotPolkadot
SubstrateSubstrate
DedotDedot