Quick Start

Deploy your first cross-VM dApp in under 5 minutes. Choose your stack and start building.

Prerequisites

Node.js 18+ or Rust 1.70+
Depending on your chosen VM
Git
For cloning examples and templates
Wallet Extension
MetaMask, Phantom, or Polkadot.js

1. Install InterLayer CLI

# Install globally via npm
$ npm install -g @interlayer/cli
Alternative: Use npx
Run npx @interlayer/cli without installing globally.

2. Choose Your VM

EVM (Solidity)

For Ethereum developers
Recommended for beginners
Create a new Solidity project:
$ interlayer init my-defi-app --template evm
$ cd my-defi-app
$ npm install
Write your contract (contracts/MyToken.sol):
// SPDX-License-Identifier: MIT
pragma solidity
^0.8.20;
contract
MyToken {
mapping(address => uint256) public balances;
function
mint(address to, uint256 amount) public {
balances[to] += amount;
}
}
Compile and deploy:
$ interlayer compile
✓ Compiled 1 contract successfully
$ interlayer deploy --network testnet
✓ Deployed to EVM at 0x742d35Cc6634C0532925a3b844Bc

SVM (Anchor/Rust)

For Solana developers
Create a new Anchor project:
$ interlayer init my-nft-marketplace --template svm
$ cd my-nft-marketplace
$ anchor build
Define your program (programs/marketplace/src/lib.rs):
use
anchor_lang::prelude::*;
declare_id!("11111111...");
#[program]
pub mod
marketplace {
pub fn
initialize(ctx: Context<Initialize>) -> Result<()> {
Ok(())
}
}
Deploy to SVM:
$ interlayer deploy --vm svm --network testnet
✓ Deployed to SVM at 7nYB3dTXk...

Move VM

For Aptos & Sui developers
Coming Q2 2026

Move VM support is in active development. Join our Discord to get early access to the Move adapter.

3. Make Your First Cross-VM Call

The real power of InterLayer: call contracts across different VMs atomically.

// Call SVM program from EVM contract
contract
CrossVMExample {
function
callSolanaProgram() public {
// MEL cross-VM interface
MEL.crossVMCall(
vm: VmType.SVM,
target: "7nYB3dTXk...",
method: "transfer",
params: abi.encode(recipient, amount)
);
}
}
Atomic Execution
If any call in the bundle fails, all state changes revert atomically - perfect for complex DeFi strategies.

Local Development

Run a local InterLayer node for faster development and testing.

# Download and start local node
$ interlayer node start
✓ Node running on http://localhost:9944
✓ WebSocket: ws://localhost:9944
✓ EVM RPC: http://localhost:8545