Skip to content

Repository files navigation

create-paraspell ✨

ParaSpell logo

Start a working XCM app in minutes, with the stack and capabilities you choose.

Website · Documentation · XCM Tools

Codecov

Get started

pnpm create-paraspell

The wizard helps you choose what to build, shows you the final setup, creates the project, and installs its dependencies. When it finishes:

cd my-xcm-app
pnpm dev

Use npm, Yarn, or Bun instead if that is what your project uses:

npm create paraspell@latest
yarn create paraspell
bun create paraspell

Requires Node.js 24 or newer.

What can I build?

XCM SDK XCM API
Best for Calling ParaSpell directly in your app Keeping XCM logic outside your app
Integration PAPI, Polkadot.js, or Dedot Package-less HTTP API
Apps React, Vue, or Node.js React, Vue, or Node.js

The generated app comes with a transfer flow already wired up. Add any of these when you need them:

  • Swap for cross-chain swaps
  • EVM for EVM origin chains
  • Snowbridge for transfers between Ethereum and Polkadot

React and Vue projects include a Vite app with wallet integration. Node.js projects include a headless Express server and optional development wallet setup.

The wizard

The interactive flow asks only what matters for the project you selected:

  1. Choose XCM SDK or XCM API.
  2. Choose React, Vue, or Node.js.
  3. Pick a Polkadot client when using the SDK.
  4. Choose the Swap, EVM, and Snowbridge extensions you need.
  5. Name the project and choose a package manager.
  6. Optionally configure a development wallet for Node.js.
  7. Review everything before files are written.

Project creation and dependency installation include live progress. If installation fails, your generated project is kept and the CLI prints the manual command to continue.

Use it from scripts

Prefer explicit commands in CI or when you already know the setup you want:

# React app using the XCM SDK and PAPI
npx create-paraspell@latest sdk react \
  --name my-xcm-app \
  --client papi \
  --package-manager pnpm

# Vue app using the XCM API with EVM origins and swaps
npx create-paraspell@latest api vue \
  --name my-xcm-api \
  --extensions evm,swap \
  --package-manager npm

# Headless SDK server with swaps
npx create-paraspell@latest sdk node \
  --name my-xcm-server \
  --client dedot \
  --extensions swap

Non-interactive environments use sensible defaults and leave dependency installation as an explicit CI step.

create-paraspell --help
create-paraspell sdk --help
create-paraspell api --help

A note about wallet secrets

Node.js projects can write a Substrate mnemonic and EVM private key to the generated .env. Wallet setup is optional, values are entered through masked prompts, and .env is gitignored.

Use a development account such as //Alice. The generated Node.js server can sign and submit live XCM transfers when you call POST /.

Avoid secret flags in shared shells or CI logs; command-line values may be saved in shell history. Prefer the interactive prompt or edit .env yourself.

Work on the CLI

pnpm install
pnpm build
pnpm start

Useful checks:

pnpm compile
pnpm lint
pnpm format:check
pnpm build
pnpm test
pnpm test --coverage
pnpm test:e2e

Links

MIT licensed.

About

ParaSpell CLI

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages