Practical, tested recipes for building on Polkadot
Build runtime logic, smart contracts, dApps, and cross-chain applications with working code examples.
Browse Recipes • Contribute a Recipe • Documentation
The Polkadot Cookbook provides recipes across 5 pathways of Polkadot development:
Build custom parachains with FRAME pallets, runtime logic, and PAPI integration testing.
| Recipe | Description |
|---|---|
| parachain-example | Full parachain development environment with 12+ pallets, custom logic, and TypeScript tests |
| pallet-example | Pallet-only development (no runtime) for advanced users |
Deploy and interact with Solidity smart contracts on Polkadot parachains.
| Recipe | Description |
|---|---|
| contracts-example | Template for Solidity contracts with Hardhat and deployment scripts |
Single-chain transaction submission and state queries using the Polkadot API.
| Recipe | Description |
|---|---|
| transaction-example | Template for chain interactions with Polkadot API (TypeScript) |
Cross-chain asset transfers and messaging between parachains.
| Recipe | Description |
|---|---|
| cross-chain-transaction-example | Template for XCM messaging with Chopsticks local testing |
Testing infrastructure with Zombienet and Chopsticks for local network development.
| Recipe | Description |
|---|---|
| network-example | Template for Zombienet and Chopsticks network configurations |
Note: Example recipes are auto-generated by our integration tests to ensure templates stay fresh and validated. They are regenerated regularly to match the latest Rust version and dependencies.
![]()
Want to share your knowledge? See Contributing a Recipe
Each recipe is self-contained with working code and tests. Commands vary by recipe type:
Pallets - Full Parachain (Rust + TypeScript/PAPI)
cd polkadot-cookbook/recipes/pallets/parachain-example
cargo test # Run pallet unit tests
npm run build:runtime # Build parachain runtime
npm run start:node # Start local node
npm test # Run PAPI integration testsPallets - Pallet Only (Rust)
cd polkadot-cookbook/recipes/pallets/pallet-example
cargo test # Run pallet unit testsContracts (Solidity)
cd polkadot-cookbook/recipes/contracts/contracts-example
npm install # Install dependencies
npm run compile # Compile contracts
npm test # Run testsTransactions (TypeScript)
cd polkadot-cookbook/recipes/transactions/transaction-example
npm install # Install dependencies
npm test # Run testsXCM (TypeScript)
cd polkadot-cookbook/recipes/cross-chain-transactions/cross-chain-transaction-example
npm install # Install dependencies
npm test # Run tests with ChopsticksNetworks (TypeScript)
cd polkadot-cookbook/recipes/networks/network-example
npm install # Install dependencies
npm test # Run testsTip: Check each recipe's README.md for specific instructions.
macOS / Linux:
curl -fsSL https://raw.githubusercontent.com/polkadot-developers/polkadot-cookbook/master/install.sh | bashWindows users: Download pre-built binaries from GitHub Releases. See Advanced Installation Options for details.
Advanced Installation Options
Manual download (all platforms):
Download pre-built binaries from GitHub Releases:
# Linux (x86_64)
curl -L https://github.com/polkadot-developers/polkadot-cookbook/releases/latest/download/dot-linux-amd64.tar.gz | tar xz
sudo mv dot /usr/local/bin/
# macOS (Apple Silicon)
curl -L https://github.com/polkadot-developers/polkadot-cookbook/releases/latest/download/dot-macos-apple-silicon.tar.gz | tar xz
sudo mv dot /usr/local/bin/
# macOS (Intel)
curl -L https://github.com/polkadot-developers/polkadot-cookbook/releases/latest/download/dot-macos-intel.tar.gz | tar xz
sudo mv dot /usr/local/bin/
# Windows
# Download dot-windows-amd64.exe.zip from releases, extract, and add to PATHBuild from source:
Requires Rust installed.
git clone https://github.com/polkadot-developers/polkadot-cookbook.git
cd polkadot-cookbook
cargo build --release --bin dot
# Binary will be at ./target/release/dot (or dot.exe on Windows)Custom install location:
# Set INSTALL_DIR before running the installer
export INSTALL_DIR="$HOME/bin"
curl -fsSL https://raw.githubusercontent.com/polkadot-developers/polkadot-cookbook/master/install.sh | bash# Create a new project (interactive mode)
dot create
# Test your project
dot test my-pallet
# Submit your project as a recipe to the cookbook
dot submit my-palletThe CLI supports five project pathways:
- Smart Contract - Build, test, and run Solidity smart contracts
- Parachain - Build a full parachain with custom pallets and PAPI integration
- Chain Transactions - Single-chain transactions and state queries with PAPI
- Cross-Chain Transactions - Cross-chain asset transfers and cross-chain calls with Chopsticks
- Polkadot Networks - Run a Polkadot network locally with Zombienet or Chopsticks
See CONTRIBUTING.md for the complete guide.
- Contributing Guide - How to create and submit recipes
- CLI Tool - Command-line tool for creating projects
- SDK Library - Programmatic API for tool developers
- Regenerating Example Recipes - Example recipes are auto-generated by integration tests:
This creates fresh examples in
cargo test --package cli --test pathway_integration_tests -- --ignoredrecipes/*-example/that validate templates work with the current Rust version and dependencies. - Integration tests run automatically on:
- Releases
- Weekly schedule
- PRs touching
rust-toolchain.tomlor templates
We welcome all contributions:
Recipe - Share your Polkadot knowledge (most welcome!)
Bug Report - Help us improve
Feature - Suggest tooling improvements
Documentation - Make things clearer
See CONTRIBUTING.md to get started.
MIT OR Apache-2.0

