{"id":13794440,"url":"https://github.com/evmts/tevm-monorepo","last_synced_at":"2026-05-22T18:08:19.955Z","repository":{"id":65857050,"uuid":"601475124","full_name":"evmts/tevm-monorepo","owner":"evmts","description":"An Ethereum Node built to run in Browser, Bun, Deno, and Node.js","archived":false,"fork":false,"pushed_at":"2025-11-10T14:32:29.000Z","size":145094,"stargazers_count":418,"open_issues_count":32,"forks_count":47,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-11-27T10:45:38.393Z","etag":null,"topics":["evm","forge","solidity","typescript"],"latest_commit_sha":null,"homepage":"https://tevm.sh","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"roninjin10/stax","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/evmts.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"tevm"}},"created_at":"2023-02-14T06:21:49.000Z","updated_at":"2025-11-13T03:27:38.000Z","dependencies_parsed_at":null,"dependency_job_id":"ff3753da-e079-4a7a-9280-0cf809f4e7c0","html_url":"https://github.com/evmts/tevm-monorepo","commit_stats":{"total_commits":1487,"total_committers":19,"mean_commits":78.26315789473684,"dds":0.3658372562205784,"last_synced_commit":"236ed1838e3f4e04b52e41bac1c0306695b3559a"},"previous_names":["evmts/tevm-monorepo","evmts/evmts-monorepo"],"tags_count":3928,"template":false,"template_full_name":null,"purl":"pkg:github/evmts/tevm-monorepo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evmts%2Ftevm-monorepo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evmts%2Ftevm-monorepo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evmts%2Ftevm-monorepo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evmts%2Ftevm-monorepo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/evmts","download_url":"https://codeload.github.com/evmts/tevm-monorepo/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/evmts%2Ftevm-monorepo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":27502249,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-12-04T02:00:07.142Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["evm","forge","solidity","typescript"],"created_at":"2024-08-03T23:00:40.865Z","updated_at":"2026-05-22T18:08:19.933Z","avatar_url":"https://github.com/evmts.png","language":"TypeScript","funding_links":["https://github.com/sponsors/tevm"],"categories":["Projects","TypeScript","Code \u0026 Developer Tools"],"sub_categories":["Dev Tools"],"readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://node.tevm.sh\"\u003e\n    \u003cimg src=\"https://github.com/user-attachments/assets/880d8f54-8063-4018-8777-98ba383433ee\" width=\"400\" alt=\"Tevm Logo\" /\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003eTevm\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cb\u003eJavaScript-Native Ethereum Virtual Machine\u003c/b\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/evmts/tevm-monorepo/actions/workflows/ci.yml\"\u003e\n    \u003cimg src=\"https://github.com/evmts/tevm-monorepo/actions/workflows/ci.yml/badge.svg\" alt=\"CI Status\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://www.npmjs.com/package/tevm\"\u003e\n    \u003cimg src=\"https://img.shields.io/npm/v/tevm\" alt=\"NPM Version\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://www.npmjs.com/package/tevm\"\u003e\n    \u003cimg src=\"https://img.shields.io/npm/dm/tevm.svg\" alt=\"Tevm Downloads\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://bundlephobia.com/package/tevm@latest\"\u003e\n    \u003cimg src=\"https://badgen.net/bundlephobia/minzip/tevm\" alt=\"Minzipped Size\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://t.me/+ANThR9bHDLAwMjUx\"\u003e\n    \u003cimg alt=\"Telegram\" src=\"https://img.shields.io/badge/chat-telegram-blue.svg\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://deepwiki.com/evmts/tevm-monorepo\"\u003e\n    \u003cimg src=\"https://deepwiki.com/badge.svg\" alt=\"Ask DeepWiki\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n---\n\n## Note: we are near the end of a large rewrite to zig. It is expected we get a new stable version of Tevm in November\n\n## 🚀 The EVM for TypeScript, JavaScript, and the Modern Web\n\nTevm puts an Ethereum node anywhere JavaScript runs—Node, browser, serverless, edge, or desktop. Instantly fork mainnet, simulate complex contracts, and run full-stack devnets, all with TypeScript-first safety and blazing speed.\n\nIf you use **viem**, **wagmi**, **0x**, or build modern Ethereum apps, Tevm is the engine that powers next-level shipping, testing, and UX.\n\n---\n\n## ✨ Why Tevm?\n\n- **⚡ Ship at Lightspeed**: Instant feedback. Test and deploy with no wait, no Docker, no slow subprocesses. Build and iterate like the Rust and Go elite—now in JS.\n- **🚫 Goodbye, Loading Spinners**: Deliver real optimistic UI. Run every contract locally for true instant dapp experiences—no more waiting on RPCs.\n- **🔒 TypeScript-Native Confidence**: End-to-end type safety and autocompletion. Import Solidity, call contracts, and simulate transactions with zero guesswork.\n- **🌐 Mainnet-Grade Simulation**: Fork any EVM chain—mainnet, L2, L3—and manipulate state locally with full fidelity.\n- **🧪 Unmatched Testing Power**: Write robust integration tests, simulate reorgs, verify gas, and check UX edge cases, all in one toolkit.\n- **💻 True Local-First**: Full EVM in Node, browser, or edge—offline or online, always in your control.\n- **🎯 The Fastest Path from Idea to User**: Tevm Compiler brings Solidity into your codebase with real types, letting you ship faster and safer than ever before.\n- **⚡ Optimistic Updates, Advanced Gas Modeling**: Build dapps that feel like Web2 and simulate costs with precision, in JS/TS.\n\n---\n\n## 🛠️ The Tevm Ecosystem\n\nEverything you need to build, simulate, and ship at the speed of your ideas.\n\n### 1. Tevm Node: Instant, In-Memory Ethereum\n\nRun an EVM devnet anywhere—Node, browser, edge, or serverless. One line, zero dependencies.\n\n```typescript\nimport { createMemoryClient } from \"tevm\";\nconst client = createMemoryClient();\n```\n\n### 2. Tevm Bundler: Solidity—Typed, Bundled, Native\n\nImport Solidity right into TypeScript and call it with full type safety:\n\n```typescript\nimport { ERC20 } from '@openzeppelin/contracts/token/ERC20.sol';\nimport { createMemoryClient } from 'tevm';\nconst client = createMemoryClient();\n\nconst token = ERC20.withAddress(\"0x123...\");\nconst balance = await client.readContract(token.read.balanceOf(\"0x456...\"));\n```\n\nWrite contracts inline with `sol` template literals (coming soon):\n\n```typescript\nimport { sol } from 'tevm';\nconst { MyContract } = sol`\n  contract MyContract {\n    function greet() public pure returns (string memory) {\n      return \"hello\";\n    }\n  }\n`;\n```\n\n[See Bundler Quickstart →](https://node.tevm.sh/getting-started/bundler)\n\n\n### 4. Tevm Engine (Preview): Optimistic UX for viem/wagmi\n\nNext-gen plugin for instant optimistic updates, auto-caching, and devnet magic in your frontend.\n\n---\n\n## 💡 What Can You Do With Tevm?\n\n- **🔄 Test Against Mainnet or Any Chain**: Fork and simulate mainnet, L2s, L3s, and custom rollups with a single call.\n- **🤖 Prototype Next-Gen Apps**: From L2 fraud proofs to LLM/EVM wallets and AI agents—in the browser or edge.\n- **✨ Deliver Seamless UX**: Eliminate spinners. Build apps that always feel instant.\n- **⛽ Model Gas \u0026 Simulate Fees**: Run \"what if\" gas scenarios and advanced fee logic, locally and reproducibly.\n- **🔍 Debug, Profile, and Introspect**: Step through opcodes and inspect contract state in real time.\n\n---\n\n## 📊 Devnet Comparison\n\n| Feature | Tevm | Anvil | Hardhat | Ganache | Tenderly |\n|---------|------|-------|---------|---------|----------|\n| **Language** | JS/Wasm | Rust | JS/Rust | JS | Go |\n| **Browser Support** | ✅ | ❌ | ❌ | ❌ | ✅ (SaaS) |\n| **Minimal Dependencies** | ✅ | ✅ | ❌ | ❌ | ✅ (SaaS) |\n| **Viem Integration** | Native | Yes (RPC) | Minimal | Minimal | None |\n| **Forking (L1, Rollups)** | ✅ | ✅ | ✅ | Some | ✅ |\n| **Rebase/Fork Updates** | Soon | ❌ | ❌ | ❌ | ✅ |\n| **Solidity Tests** | Some | Yes | Yes | No | No |\n| **Fuzzing** | ❌ | ✅ | ✅ | ❌ | ❌ |\n| **Open Source** | ✅ | ✅ | ✅ | ✅ | ❌ |\n\n---\n\n## 🏆 Backed by the Ethereum Foundation\n\nTevm is funded by an Ethereum Foundation grant. Our roadmap:\n\n- ✅ **Tevm 1.0.0 Release**\n- 🔄 **Test Library**\n- 🎮 **MUD Integration** for onchain games\n\n---\n\n## ⚡ Quick Start\n\n```bash\nnpm install tevm viem@latest\n```\n\n```typescript\nimport { createMemoryClient, http } from \"tevm\";\nimport { optimism } from \"tevm/common\";\nimport { parseAbi } from \"viem\";\n\n// Fork Optimism mainnet\nconst client = createMemoryClient({\n  common: optimism,\n  fork: { transport: http(\"https://mainnet.optimism.io\") },\n});\nawait client.tevmReady();\n\nconst account = \"0x\" + \"baD60A7\".padStart(40, \"0\");\nawait client.setBalance({ address: account, value: 10_000_000_000_000_000_000n });\n\nconst greeterAbi = parseAbi([\n  \"function greet() view returns (string)\",\n  \"function setGreeting(string memory _greeting) public\",\n]);\nconst greeterAddress = \"0x10ed0b176048c34d69ffc0712de06CbE95730748\";\n\n// Read from contract\nconst greeting = await client.readContract({\n  address: greeterAddress,\n  abi: greeterAbi,\n  functionName: \"greet\",\n});\n\n// Write to contract\nawait client.writeContract({\n  account,\n  address: greeterAddress,\n  abi: greeterAbi,\n  functionName: \"setGreeting\",\n  args: [\"Hello from Tevm!\"],\n});\n\nawait client.mine({ blocks: 1 });\n\nconst newGreeting = await client.readContract({\n  address: greeterAddress,\n  abi: greeterAbi,\n  functionName: \"greet\",\n});\n```\n\n---\n\n## 📚 Learn More\n\n- 📖 [Getting Started](https://node.tevm.sh/getting-started/overview)\n- 🔗 [Viem Integration](https://node.tevm.sh/getting-started/viem)\n- 📦 [Ethers Integration](https://node.tevm.sh/getting-started/ethers)\n- 🛠️ [Bundler Quickstart](https://node.tevm.sh/getting-started/bundler)\n- 📚 [API Reference](https://node.tevm.sh/api/packages)\n- 💡 [Examples](https://github.com/evmts/tevm-monorepo/tree/main/examples)\n\n---\n\n## 👥 Community\n\n- 💬 [Join Telegram](https://t.me/+ANThR9bHDLAwMjUx)\n- 🗣️ [GitHub Discussions](https://github.com/evmts/tevm-monorepo/discussions)\n\n---\n\n## 🤝 Contributing\n\nWe're always looking for passionate builders—especially if you love TypeScript, L2/L3s, or pushing the limits of EVM tooling. See [CONTRIBUTING.md](./CONTRIBUTING.md) to get started.\n\n---\n\n## 📄 License\n\nTevm is fully open source under the MIT license. See [LICENSE](./LICENSE) for details.\n\n---\n\n## 🚦 Who Should Use Tevm?\n\nTevm is for you if you're:\n\n- 🔧 Building with **viem**, **wagmi**, **0x**, or TypeScript-first Ethereum apps\n- ⚡ Shipping UIs that need instant feedback (no spinners)\n- 🚀 Creating next-gen dapps, rollups, wallets, or LLM/EVM integrations\n- 😤 Tired of slow, fragile, or heavyweight devnets\n\n---\n\n\u003cp align=\"center\"\u003e\n  \u003cb\u003e❤️ Ready to level up your Ethereum workflow?\u003c/b\u003e\n  \u003cbr\u003e\u003cbr\u003e\n  \u003ca href=\"https://node.tevm.sh/getting-started/overview\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Get%20Started%20with%20Tevm-FF6B6B?style=for-the-badge\u0026logo=ethereum\u0026logoColor=white\" alt=\"Get Started\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fevmts%2Ftevm-monorepo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fevmts%2Ftevm-monorepo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fevmts%2Ftevm-monorepo/lists"}