{
  "schema": "leumas.docs.page/1",
  "id": "pkg:@leumas/remix-web",
  "slug": "products/remix-web",
  "kind": "capabilities",
  "bucket": "product",
  "title": "Leumas Remix — remix.leumas.tech",
  "name": "Leumas Remix",
  "eyebrow": "remix.leumas.tech",
  "chip": null,
  "summary": "Leumas Remix at remix.leumas.tech — write, compile and deploy smart contracts from your browser, with your wallet and never ours: solc in a Web Worker, an EIP-6963 wallet layer, a contract library...",
  "keywords": [
    "solidity ide",
    "smart contract",
    "compile solidity in browser",
    "deploy with wallet",
    "verify contract source",
    "erc20 template"
  ],
  "audience": "both",
  "funnel": {
    "product": null,
    "cta": null
  },
  "body": "\n# Leumas Remix — remix.leumas.tech\n\nWrite, compile and deploy smart contracts from your browser, with your wallet and never ours. solc\nruns in a Web Worker loaded from this site; deploys and calls go through the wallet the visitor\nalready has (EIP-6963 / EIP-1193, on viem); reverts come back decoded; source is verified against a\nchain's public RPC by bytecode. Six self-contained templates, labelled **community** because they were\nwritten for this library and have not been independently audited.\n\nBlueprint: `products/TODOS/remix.leumas.tech.md`. Engine: `shared/packages/solidity`\n(`@leumas/solidity`). API: `products/leumas-api/src/{routes,controllers}/remix.js` at `/api/remix`.\n\n## The four rules, kept by code\n\n| Rule | Where it is kept |\n|---|---|\n| **No server key, ever.** | No signer, no `PRIVATE_KEY`, no RPC secret in the package or the site; `check:remix-public` greps for one on every build. The legacy `PRIVATE_KEY` deploy lane was not ported. |\n| **Signing is never an adapter.** | The adapter and the Studio app expose compile, ABI, encode and verify only. |\n| **Unaudited means unaudited.** | Every `/c/:slug` page carries `community`; the guard checks each one. |\n| **Compile locally first; one pinned solc.** | `SOLC_VERSION` from the package is in the page, the API status and the vendored `/remix-solc/<v>/soljson.js`. |\n\n## Pages\n\n`/` split landing · `/ide` and `/ide/:workspace` · `/contracts` · `/c/:slug` and `/c/:slug/abi` (six\neach, generated from the compiled templates by `scripts/gen-library.mjs`) · `/verify` · `/networks` ·\n`/sdk` · `/pricing` · `/faq` · `/legal`. Not indexed: `/embed/:slug`, `/portal`.\n\n## Money\n\nModel B, no plan row. Floor: `remix.ide`, `remix.compile`, `remix.verify`. Members: `remix.save`\n(`remix.workspaces` 5 / 50 / ∞), `remix.publish` (review-first), `remix.keys` (`remix.serverCompiles`\n1000 / 5000 / ∞). Nothing about a transaction is ever charged. API-key scope `remix`.\n\n## Build and verify\n\n```bash\npnpm --filter @leumas/remix-web build   # vendor solc → gen library → og → vite → prerender → crawler files → check:remix-public\npnpm smoke:remix-site\npnpm --filter @leumas/solidity test\n```\n\nDev: `pnpm dev:remix` (port 5060; leave `VITE_API_BASE` unset).\n",
  "source": {
    "path": "products/leumas-remix/README.md",
    "blobSha": "",
    "commit": "",
    "committedAt": "",
    "provenance": "no-git",
    "bytes": 2424,
    "hash": "ff6b7776db98c246e32cd434b1532888a7fab97a"
  },
  "urls": {
    "html": "/p/products/remix-web",
    "json": "/docs/products/remix-web.json",
    "md": "/docs/products/remix-web.md"
  },
  "links": {
    "composes": [
      "pkg:@leumas/theme",
      "pkg:@leumas/ui"
    ],
    "usedBy": [],
    "product": [],
    "howTo": [],
    "skills": []
  },
  "exports": null
}
