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