Lyra Web3 Playground — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Lyra Web3 Playground (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
<!-- ═══════════════════════════════════════════════════════════════════════════════ LYRA WEB3 PLAYGROUND ═══════════════════════════════════════════════════════════════════════════════
✨ Original Author: nich 🐦 Twitter/X: x.com/nichxbt 🐙 GitHub: github.com/nirholas 📦 Repository: github.com/nirholas/lyra-web3-playground 🌐 Hosted demo: offline while hosting is migrated. Source: github.com/nirholas/lyra-web3-playground
Copyright (c) 2024-2026 nirholas (nich) All rights reserved. See the LICENSE file.
NOTICE: This project contains embedded watermarks and attribution markers. Removal or modification of attribution constitutes violation of the license. ═══════════════════════════════════════════════════════════════════════════════ -->
<p align="center"> <strong>✨ Built by <a href="https://x.com/nichxbt">nich</a> | <a href="https://github.com/nirholas">GitHub</a> | <a href="https://x.com/nichxbt">X/Twitter</a></strong> </p>
A comprehensive open-source Web3 learning platform. Professional development environments, AI-assisted tools, security testing, and collaborative features — all in your browser.
<p align="center"> <a href="https://github.com/nirholas/lyra-web3-playground"><strong>Get the source on GitHub</strong></a> </p>
Hosting note: the hosted demo at lyra.works is currently offline while hosting is being migrated. Clone the repo and runnpm install && npm run devto use every environment below athttp://localhost:3000.
| Tool | Description | Link |
|---|---|---|
| Web Sandbox | Full-featured web IDE with React, Vue, Python, live preview, Vim mode | /ide?type=web |
| Solidity IDE | Smart contract IDE with multi-version compiler (0.6.x - 0.8.24) | /ide?type=solidity |
| Full-Stack Playground | Build complete dApps with contract + frontend + live preview | /fullstack-demo |
| Interactive Sandbox | IDE with AI assistant, templates, and testnet deployment | /sandbox |
Open http://localhost:3000/innovation or enable "Innovation Mode" in the sandbox:
| Feature | Capability |
|---|---|
| AI Code Whisperer | Real-time vulnerability detection, voice control, auto-fix suggestions |
| Contract Time Machine | Version history, branching, state simulation |
| Security Testing Lab | Test contracts against reentrancy, flash loans, overflow attacks |
| Collaborative Arena | Code with AI teammates, participate in challenges |
| Neural Gas Oracle | ML-powered gas prediction and optimization |
| Cross-Chain Deployer | Deploy to 8+ chains with automated bridge setup |
Comprehensive accessibility support:
| Feature | Description |
|---|---|
| Dwell Click | Click by hovering — no mouse button required |
| Reading Guide | Horizontal line follows cursor position |
| Color Blind Filters | Protanopia, Deuteranopia, Tritanopia support |
| Text-to-Speech | Read content aloud with adjustable speed/pitch |
| Cognitive Support | Simplified mode, focus mode, extended timeouts |
| Code-to-English | Translates Solidity to plain English explanations |
See ACCESSIBILITY.md for complete documentation.
| Tool | URL | Description |
|---|---|---|
| IDE Hub | /ide | Choose Web Sandbox or Solidity IDE |
| Web Sandbox | /ide?type=web | HTML/CSS/JS/React/Vue/Python IDE |
| Solidity IDE | /ide?type=solidity | Smart contract development |
| Interactive Sandbox | /sandbox | Sandbox with AI assistant |
| Contract Playground | /playground | Template-based contract editor |
| Learning Playground | /learn | Interactive tutorials |
| Full-Stack Demo | /fullstack-demo | Contract + Frontend builder |
| Innovation Lab | /innovation | Experimental AI features |
| Markets | /markets | Live crypto prices & DeFi data |
| Explore | /explore | Community projects gallery |
| You are... | Lyra helps you... |
|---|---|
| 🌱 Complete beginner | Learn Solidity with step-by-step tutorials |
| 💻 Web developer | Transition to Web3 with familiar tools |
| 🎓 Student | Practice smart contracts without spending gas |
| 🔧 Builder | Prototype dApps quickly with templates |
| 👩🏫 Educator | Teach blockchain with interactive examples |
Run npm install && npm run dev, then pick an option below.
Option 1: Browse the tutorials
http://localhost:3000Option 2: Try the Solidity IDE
http://localhost:3000/ideOption 3: Follow a tutorial
http://localhost:3000/)/)/example/hello-world)/)/)/example/erc20-token)/) and describe your idea/ide)/playground)console.log/warn/error from your code in real-time/sandbox)We go far beyond standard accessibility. Our system includes futuristic features that make Web3 truly accessible to everyone:
Quick Profiles (one-click presets):
Vision Features:
Motor Accessibility:
Alt+A quick accessCognitive Support:
Screen Reader & Audio:
Developer-Friendly:
See ACCESSIBILITY.md for full documentation
/markets# Clone the repository
git clone https://github.com/nirholas/lyra-web3-playground.git
cd lyra-web3-playground
# Install dependencies
npm install
# Start development server
npm run devOpen http://localhost:3000 in your browser.
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:
cp .env.example .env| Variable | Purpose |
|---|---|
VITE_PRIVY_APP_ID | Privy application ID used for wallet / email login |
VITE_API_URL | Base URL of the backend API (defaults to http://localhost:3001) |
VITE_INFURA_API_KEY | Infura project ID for read-only RPC calls |
VITE_SUPABASE_URL | Supabase project URL |
VITE_SUPABASE_ANON_KEY | Supabase 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).
npm run build
npm run preview├── 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| Category | Technology |
|---|---|
| Frontend | React 18, TypeScript, Vite |
| Styling | TailwindCSS |
| Editor | Monaco Editor |
| Web3 | ethers.js v6, viem |
| State | Zustand (with persist) |
| i18n | Custom store (10 languages + RTL) |
| Accessibility | Custom a11y system (WCAG 2.1 AAA+) |
| Database | Supabase |
| Testing | Vitest |
| Deployment | Vercel, Netlify, Docker |
| Document | Description |
|---|---|
| Getting Started | New to blockchain? Start here! |
| Quick Start Guide | Get up and running locally |
| IDE Guide | All development environments & URLs |
| Sandbox Guide | Premium sandbox features |
| Innovation Lab | AI & experimental features |
| Playgrounds | All playground components |
| Architecture Overview | System design |
| Backend API | API reference |
| Deployment Guide | Deploy your own instance |
| Security | Security practices |
| Accessibility | A11y features and usage |
<details> <summary><strong>Do I need to install anything?</strong></summary>
No! Run npm run dev and open http://localhost:3000 in your browser. Everything runs in your browser.
</details>
<details> <summary><strong>Do I need cryptocurrency or a wallet?</strong></summary>
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).
</details>
<details> <summary><strong>Is this free?</strong></summary>
Yes, it is free to run. No hidden fees, no premium tier. See the LICENSE file for usage terms.
</details>
<details> <summary><strong>I'm getting errors. What do I do?</strong></summary>
/faq for common issues</details>
<details> <summary><strong>Can I use this for my class/workshop?</strong></summary>
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.
</details>
<details> <summary><strong>How do I deploy to a real network?</strong></summary>
</details>
<details> <summary><strong>I found a bug / I have a suggestion</strong></summary>
Please open an issue! We appreciate all feedback.
</details>
Contributions are welcome! Please read our Contributing Guide for details on:
[type] Clear description in plain English (emoji at end) 🎉Example: [add] Keyboard navigation for dropdown menus ♿
Why this format?
See CONTRIBUTING.md for full guidelines.
Check out issues labeled good first issue to get started.
All rights reserved. See the LICENSE file for details.
<p align="center"> <strong>If you find this project useful, please consider giving it a ⭐</strong> </p>
<p align="center"> Built with ❤️ by <a href="https://x.com/nichxbt">nich</a> </p>
Full documentation site: https://nirholas.github.io/lyra-web3-playground/
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.