Solidity Compiler IDE

io.github.nirholasPublished by GitHub account nirholasv1.0.0Updated Oct 24, 2026

Browser Solidity compiler IDE - smart contract development testing deploy

VerifiedSTDIODesktop onlyDeveloper ToolsAI & ML

Overview

AI-generated overview

A local Solidity compiler IDE server that lets an assistant work with smart contract development, testing and deployment in a browser-based Web3 playground.

What you can do
Compile Solidity contracts across multiple compiler versions (0.6.x through 0.8.24) with error and warning feedback, and copy ABI or bytecode output. Deploy contracts to a simulated JavaScript VM or to testnets and networks such as Sepolia, Mumbai and Mainnet, then call functions and review transaction history with gas tracking. Generate contracts from natural-language prompts and start from a library of token, NFT, DeFi, DAO and bridge templates. Build full-stack dApps with contract, frontend and live preview, and test contracts against reentrancy, flash loan and overflow scenarios. Browse tutorials, examples and community projects, and view live crypto prices and DeFi metrics.
When to use it
Useful when you want an assistant to help write, compile, test or deploy Solidity smart contracts and prototype dApps without leaving a local development environment, especially for learning or testnet experimentation.
Requirements
Runs as a local process on the user's machine (desktop only). The README describes a Node.js 18+ project started with npm install and npm run dev, served at localhost:3000. Optional features need credentials in a .env file: VITE_PRIVY_APP_ID, VITE_API_URL, VITE_INFURA_API_KEY, VITE_SUPABASE_URL and VITE_SUPABASE_ANON_KEY. Real network deployment needs a wallet such as MetaMask and testnet funds.
Before you install
Deploying to real networks writes to a blockchain and can spend gas; use the JavaScript VM or testnets first. Wallet login and Supabase-backed community features require credentials, and every VITE_-prefixed value is inlined into the client bundle and therefore public, so never put private keys or server secrets in .env. Community features publish and share projects, and market data is fetched from third-party services.

Installation

In SourceWeft

  1. Open Solidity Compiler IDE in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

Lyra Web3 Playground

✨ Built by nich | GitHub | X/Twitter

[![Repository](https://img.shields.io/badge/source-github-blue)](https://github.com/nirholas/lyra-web3-playground) [![TypeScript](https://img.shields.io/badge/TypeScript-5.0-blue)](https://www.typescriptlang.org/) [![React](https://img.shields.io/badge/React-18-61dafb)](https://react.dev/) [![Accessibility](https://img.shields.io/badge/a11y-WCAG%202.1%20AAA-purple)](docs/ACCESSIBILITY.md) [![i18n](https://img.shields.io/badge/i18n-10%20languages-orange)](docs/ARCHITECTURE.md) [![Author](https://img.shields.io/badge/Author-nich-ff69b4)](https://x.com/nichxbt)

A comprehensive open-source Web3 learning platform. Professional development environments, AI-assisted tools, security testing, and collaborative features — all in your browser.

Get the source on GitHub

Hosting note: the hosted demo at lyra.works is currently offline while hosting is being migrated. Clone the repo and run npm install && npm run dev to use every environment below at http://localhost:3000.


🛠️ Development Environments

Professional IDEs

ToolDescriptionLink
Web SandboxFull-featured web IDE with React, Vue, Python, live preview, Vim mode/ide?type=web
Solidity IDESmart contract IDE with multi-version compiler (0.6.x - 0.8.24)/ide?type=solidity
Full-Stack PlaygroundBuild complete dApps with contract + frontend + live preview/fullstack-demo
Interactive SandboxIDE with AI assistant, templates, and testnet deployment/sandbox

Innovation Lab (Experimental)

Open http://localhost:3000/innovation or enable "Innovation Mode" in the sandbox:

FeatureCapability
AI Code WhispererReal-time vulnerability detection, voice control, auto-fix suggestions
Contract Time MachineVersion history, branching, state simulation
Security Testing LabTest contracts against reentrancy, flash loans, overflow attacks
Collaborative ArenaCode with AI teammates, participate in challenges
Neural Gas OracleML-powered gas prediction and optimization
Cross-Chain DeployerDeploy to 8+ chains with automated bridge setup

♿ Accessibility (WCAG 2.1 AAA)

Comprehensive accessibility support:

FeatureDescription
Dwell ClickClick by hovering — no mouse button required
Reading GuideHorizontal line follows cursor position
Color Blind FiltersProtanopia, Deuteranopia, Tritanopia support
Text-to-SpeechRead content aloud with adjustable speed/pitch
Cognitive SupportSimplified mode, focus mode, extended timeouts
Code-to-EnglishTranslates Solidity to plain English explanations

See ACCESSIBILITY.md for complete documentation.


Quick Access to All Tools

ToolURLDescription
IDE Hub/ideChoose Web Sandbox or Solidity IDE
Web Sandbox/ide?type=webHTML/CSS/JS/React/Vue/Python IDE
Solidity IDE/ide?type=soliditySmart contract development
Interactive Sandbox/sandboxSandbox with AI assistant
Contract Playground/playgroundTemplate-based contract editor
Learning Playground/learnInteractive tutorials
Full-Stack Demo/fullstack-demoContract + Frontend builder
Innovation Lab/innovationExperimental AI features
Markets/marketsLive crypto prices & DeFi data
Explore/exploreCommunity projects gallery

🎯 Who is this for?

You are...Lyra helps you...
🌱 Complete beginnerLearn Solidity with step-by-step tutorials
💻 Web developerTransition to Web3 with familiar tools
🎓 StudentPractice smart contracts without spending gas
🔧 BuilderPrototype dApps quickly with templates
👩‍🏫 EducatorTeach blockchain with interactive examples

⚡ Start in 30 Seconds

Run npm install && npm run dev, then pick an option below.

Option 1: Browse the tutorials

  1. Open http://localhost:3000
  2. Click any tutorial or example
  3. Start coding immediately

Option 2: Try the Solidity IDE

  1. Open http://localhost:3000/ide
  2. Write or paste a smart contract
  3. Click "Compile" then "Deploy" (uses JavaScript VM - no wallet needed)

Option 3: Follow a tutorial

  1. Open http://localhost:3000
  2. Scroll to "Learn Web3 Development"
  3. Pick a tutorial based on your level

🎮 What can you do here?

For Learning

  • 📖 50+ tutorials from "What is a blockchain?" to advanced DeFi
  • 🎯 Interactive examples - code runs as you read
  • 💡 Instant feedback - see errors and results immediately
  • 🏆 Progress tracking - pick up where you left off

For Building

  • ⚡ Solidity IDE - compile and deploy in seconds
  • 📝 40+ templates - tokens, NFTs, DAOs, DeFi
  • 🤖 AI dApp Builder - describe what you want, get code
  • 🔗 Multi-chain - Ethereum, Polygon, Base, Arbitrum, and more

For Everyone

  • 🌍 10 languages - English, Spanish, Chinese, Arabic, and more
  • ♿ Fully accessible - screen readers, keyboard nav, color blind support
  • 🌙 Dark mode - easy on the eyes
  • 📱 Mobile friendly - learn on any device

📚 Learning Paths

🌱 I'm new to blockchain

  1. Start with the "What is Ethereum?" tutorial on the home page (/)
  2. Continue with "Your First Smart Contract" (/)
  3. Try the Hello World example (/example/hello-world)

💻 I know JavaScript, teach me Solidity

  1. Read "Solidity for JS Developers" on the home page (/)
  2. Compare JavaScript and Solidity side by side (/)
  3. Build a Simple Token (/example/erc20-token)

🚀 I want to build a dApp

  1. Use the AI dApp Builder on the home page (/) and describe your idea
  2. Or start from a template in the IDE (/ide)
  3. Deploy to testnet and share with the community

✨ Features

🎮 Premium Code Sandbox (NEW!)

  • World-class IDE comparable to CodePen, JSFiddle, and Remix
  • Web Sandbox: Multi-file projects with HTML, CSS, JS, React, Vue, Python
  • Solidity IDE: Full-featured smart contract development environment
  • Split-pane layouts with draggable resize
  • Device presets for responsive testing (Desktop/Tablet/Mobile)
  • Auto-run on change with live preview
  • Console panel with log/warn/error capture
  • Settings panel: Theme, font size, Vim mode, auto-save, and more

🎮 Interactive Code Playground (/playground)

  • Multi-file editor with file tabs (HTML, CSS, JS, Solidity, JSON, and more)
  • Dual-pane layout with live hot-reload preview
  • Console capture — see console.log/warn/error from your code in real-time
  • File management — create, delete, and switch between files
  • AI-powered contract generation from natural language prompts
  • 40+ smart contract templates ready to deploy
  • One-click deployment to any supported blockchain

🔧 Solidity Development (NEW!)

  • Multiple Solidity versions (0.6.x through 0.8.24)
  • Real-time compilation with error/warning highlighting
  • Deploy to any network (JS VM, Sepolia, Goerli, Mumbai, Mainnet)
  • Interactive contract UI - call functions directly
  • Transaction history with gas tracking
  • Copy ABI/Bytecode with one click
  • Keyboard shortcuts (Ctrl+S to compile)

�️ Full-Stack Sandbox (/sandbox)

  • File tree navigation with workspace management
  • Web preview panel with live hot-reload for HTML/CSS/JS projects
  • Console log capture from preview iframe
  • Contract interaction panel for deployed smart contracts
  • AI Assistant integration for code suggestions
  • Innovation Mode — experimental features like AI Whisperer, Time Machine, Exploit Lab
  • Export/share workspaces with one click

📚 Smart Contract Templates

  • 40+ ready-to-use templates across categories:
    • ERC-20, ERC-721, ERC-1155 tokens
    • DeFi (staking, vaults, DEX)
    • NFT marketplaces and minting
    • Governance and DAOs
    • Cross-chain bridges

📖 Comprehensive Tutorials

  • 50+ tutorials from beginner to advanced [in progress]
  • Step-by-step guides with interactive examples
  • Topics: Solidity basics, DeFi mechanics, security patterns, gas optimization

🔗 Multi-Chain Support

  • Ethereum, Base, Polygon, Avalanche, BSC, Arbitrum
  • Solana integration
  • Monad testnet support

🧹 Token Consolidation Tool

  • Sweep dust tokens across wallets
  • Multi-chain token management
  • Gas-efficient batch operations

🎨 Modern UI/UX

  • Dark/light mode
  • Fully responsive design
  • Keyboard shortcuts for power users
  • Mobile-optimized with bottom navigation

♿ Accessibility - Beyond WCAG 2.1 AAA (NEW!)

We go far beyond standard accessibility. Our system includes futuristic features that make Web3 truly accessible to everyone:

Quick Profiles (one-click presets):

  • 👓 Low Vision • 🦯 Blind • 🦻 Deaf • 🖐️ Motor Impaired • 🧠 Cognitive

Vision Features:

  • High contrast mode, large text (up to 200%), custom colors
  • Color blind filters: Protanopia, Deuteranopia, Tritanopia, and more
  • Reading guide: Horizontal line follows your cursor for easier reading
  • OpenDyslexic font: Specially designed for dyslexic readers

Motor Accessibility:

  • Dwell Click: Click by hovering - no mouse button needed
  • Large click targets (up to 64px), sticky keys simulation
  • Full keyboard navigation with Alt+A quick access

Cognitive Support:

  • Simplified interface mode, focus mode, reduced animations
  • Extended timeouts, reading speed adjustment
  • Clear, consistent layouts

Screen Reader & Audio:

  • ARIA live regions announce all actions
  • Text-to-Speech: Read content aloud with adjustable speed/pitch
  • Code-to-Natural-Language: Translates code to plain English

Developer-Friendly:

  • Draggable floating accessibility button
  • Export/import custom settings
  • Full keyboard shortcut support

See ACCESSIBILITY.md for full documentation

🤖 AI-Powered dApp Builder (NEW!)

  • Natural language → Full-stack dApp generation
  • Generates Solidity + HTML + CSS + JavaScript from prompts
  • Smart contract templates: Token, NFT, DAO
  • Interactive tutorial-style editor with step-by-step guidance
  • Deploy directly to testnets

🌐 Community Features (NEW!)

  • Share Projects: Publish your work with unique shareable links
  • Explore Gallery: Discover projects, templates, and tutorials from the community
  • Like & Comment: Engage with other developers' work
  • Fork Projects: Build on top of others' code
  • Wallet Authentication: Connect wallet to access community features
  • Embed Code: Embed shared projects in your own websites

🌍 Internationalization (NEW!)

  • 10 languages supported out of the box
  • English, Spanish, Chinese, French, German, Japanese, Korean, Portuguese, Russian, Arabic
  • RTL support for Arabic
  • Language selector in navigation
  • Persisted language preference

📊 Market Data Integration (NEW!)

  • Live Crypto Prices: Real-time data from CoinGecko
  • DeFi Analytics: Protocol TVL, yields from DeFiLlama
  • Chain Statistics: TVL by chain, trending coins
  • Markets Page: Comprehensive market overview at /markets

🚀 Quick Start

Prerequisites

  • Node.js 18+
  • npm or yarn

Installation

bash
# Clone the repositorygit clone https://github.com/nirholas/lyra-web3-playground.gitcd lyra-web3-playground
# Install dependenciesnpm install
# Start development servernpm run dev

Open http://localhost:3000 in your browser.

Environment Variables

The app runs without configuration, but wallet login, the backend API, RPC access and Supabase-backed features need credentials. Copy the example file and fill it in:

bash
cp .env.example .env
VariablePurpose
VITE_PRIVY_APP_IDPrivy application ID used for wallet / email login
VITE_API_URLBase URL of the backend API (defaults to http://localhost:3001)
VITE_INFURA_API_KEYInfura project ID for read-only RPC calls
VITE_SUPABASE_URLSupabase project URL
VITE_SUPABASE_ANON_KEYSupabase anon (public) key

Every VITE_-prefixed value is inlined into the client bundle and is therefore public — never put a private key or server secret in .env. Server-side secrets belong in server/.env (see server/.env.example).

Build for Production

bash
npm run buildnpm run preview

🏗️ Project Structure

├── src/│   ├── components/     # React components│   │   ├── Accessibility/    # Comprehensive a11y system│   │   │   ├── AccessibilityButton.tsx  # Floating button│   │   │   ├── AccessibilityPanel.tsx   # Settings panel│   │   │   ├── DwellClick.tsx           # Click-by-hovering│   │   │   ├── ReadingGuide.tsx         # Line highlighter│   │   │   └── ColorBlindFilters.tsx    # Color blind support│   │   ├── CodePlayground/   # Monaco editor & compiler│   │   ├── Tutorial/         # Tutorial system│   │   ├── Sandbox/          # Premium sandbox IDEs│   │   │   ├── WebSandbox.tsx       # Web dev sandbox│   │   │   ├── SoliditySandbox.tsx  # Solidity IDE│   │   │   ├── UnifiedSandbox.tsx   # Generic sandbox wrapper│   │   │   └── ShareModal.tsx       # Project sharing modal│   │   ├── Playground/       # Full-stack dApp playground│   │   ├── FullStackPlayground/  # AI dApp builder│   │   └── Consolidation/    # Token consolidation│   ├── pages/          # Route pages│   │   ├── SandboxPage.tsx   # Premium IDE selection│   │   ├── ExplorePage.tsx   # Community project gallery│   │   ├── SharedProjectPage.tsx  # View shared projects│   │   ├── MarketsPage.tsx   # Market data dashboard│   │   └── ExamplePage.tsx   # Example with sandbox toggle│   ├── services/       # API services│   │   ├── community.ts      # Sharing, likes, comments, forks│   │   └── marketData.ts     # CoinGecko & DeFiLlama integration│   ├── hooks/          # Custom React hooks│   │   └── useMarketData.ts  # Market data hooks│   ├── stores/         # Zustand state management│   │   ├── accessibilityStore.ts  # 40+ a11y settings│   │   ├── i18nStore.ts           # 10 languages + RTL│   │   ├── themeStore.ts          # Dark/light mode│   │   └── walletStore.ts         # Wallet connection│   ├── styles/│   │   ├── index.css             # Main styles│   │   └── accessibility.css     # 580+ lines a11y CSS│   ├── examples/       # Code examples (web3, ai)│   └── utils/          # Helper functions│       └── contractTemplates.ts  # 40+ contract templates├── server/             # Backend API (optional)├── docs/               # Documentation└── public/             # Static assets

🛠️ Tech Stack

CategoryTechnology
FrontendReact 18, TypeScript, Vite
StylingTailwindCSS
EditorMonaco Editor
Web3ethers.js v6, viem
StateZustand (with persist)
i18nCustom store (10 languages + RTL)
AccessibilityCustom a11y system (WCAG 2.1 AAA+)
DatabaseSupabase
TestingVitest
DeploymentVercel, Netlify, Docker

📖 Documentation

DocumentDescription
Getting StartedNew to blockchain? Start here!
Quick Start GuideGet up and running locally
IDE GuideAll development environments & URLs
Sandbox GuidePremium sandbox features
Innovation LabAI & experimental features
PlaygroundsAll playground components
Architecture OverviewSystem design
Backend APIAPI reference
Deployment GuideDeploy your own instance
SecuritySecurity practices
AccessibilityA11y features and usage

❓ Frequently Asked Questions

Do I need to install anything?

No! Run npm run dev and open http://localhost:3000 in your browser. Everything runs in your browser.

Do I need cryptocurrency or a wallet?

No! You can learn and practice without any crypto. The IDE has a "JavaScript VM" mode that simulates a blockchain locally. When you're ready to deploy for real, you'll need MetaMask and testnet ETH (which is free).

Is this free?

Yes, it is free to run. No hidden fees, no premium tier. See the LICENSE file for usage terms.

I'm getting errors. What do I do?
  1. Check the error message - it usually tells you what's wrong
  2. Make sure your Solidity version matches your code
  3. Check the /faq for common issues
  4. Open an issue if you're stuck
Can I use this for my class/workshop?

Absolutely! That's one of the main use cases. You can share links to specific examples, and students can code along in their browsers. No setup required.

How do I deploy to a real network?
  1. Install MetaMask
  2. Get testnet ETH from a faucet (free)
  3. Connect your wallet on Lyra
  4. Select your network (e.g., Sepolia, Mumbai)
  5. Click "Deploy" - your contract is now on the blockchain!
I found a bug / I have a suggestion

Please open an issue! We appreciate all feedback.


🤝 Contributing

Contributions are welcome! Please read our Contributing Guide for details on:

  • Code of conduct
  • Development workflow
  • Pull request process
  • Coding standards
  • Accessible commit messages - We use a format designed for screen readers and cognitive accessibility

Commit Message Format

bash
[type] Clear description in plain English (emoji at end) 🎉

Example: [add] Keyboard navigation for dropdown menus ♿

Why this format?

  • Text first - Screen readers read emoji names, so meaning comes first
  • Plain words - Clear for developers with cognitive disabilities
  • Consistent - Easy to scan for low vision users

See CONTRIBUTING.md for full guidelines.

Good First Issues

Check out issues labeled good first issue to get started.


📄 License

All rights reserved. See the LICENSE file for details.


🙏 Acknowledgments


If you find this project useful, please consider giving it a ⭐

Built with ❤️ by nich

Documentation

Full documentation site: https://nirholas.github.io/lyra-web3-playground/

Star History

[Star History Chart]

Source: README.md at commit 779a786

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v1.0.0LatestSep 16, 2026

Score

40% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.