Contribute to MorScan
MorScan is open source, and we love pull requests. It is the same code that runs this site, so anything you fix or build here ships for everyone. Come poke at it.
The license, plainly
MorScan is licensed under the Elastic License 2.0. You can read it, run it, fork it, and build on it. The one thing ELv2 asks is that you do not offer it to others as a hosted, managed service. For contributors that changes nothing: fork, branch, send a PR, and your work is welcome.
Run it locally
MorScan is a single Cloudflare Worker backed by D1 (SQLite at the edge). It indexes Morpheus activity on Base, caches it in D1, and serves the dashboard and read API. You need Node.js 22+ and npm.
git clone https://github.com/DRM3Labs-OSS/morscan.io.git
cd morscan.io
npm install
npm run dev # local worker at http://localhost:8787
# before you open a PR, keep these green:
npm run typecheck # tsc --noEmit
npm run lint # biome lint src/
npm run build # wrangler deploy --dry-run
First-run setup (account id, D1 database, env vars) is in docs/GETTING_STARTED.md. The explorer runs without provenance signing, so you do not need any secrets to get a working local instance.
What is welcome
- Bug fixes. Something looks wrong or a number is off? A focused fix with a note on how you checked it is the best kind of PR.
- New handlers and views. Another slice of Morpheus activity worth surfacing? The routing and handler pattern is small and easy to extend.
- Performance. The stack is vanilla TypeScript with Canvas charts and a seven-package runtime. Making it leaner and faster is always in scope.
- Docs and examples. Clearer getting-started steps, API examples, and architecture notes help everyone who comes next.
- Ideas. Not sure yet? Open an issue and describe the problem. Small, focused proposals are easiest to move on.
Feedback and feature requests
Comments, concerns, feedback, and feature requests all live in one place: open a GitHub issue. Say what you saw and what you expected - a number that looks off, a page that reads wrong, a dataset you wish existed. We read every issue.
House rules
- Keep
typecheck,lint, andbuildgreen. The same checks run in CI. - TypeScript everywhere. Vanilla front end, no framework, no charting library: the tiny bundle is a feature.
- No em dashes anywhere in the repo (code, copy, docs, commit messages). Use a hyphen or reword.
- Small, atomic commits with messages that say what changed and what you verified.
- Found a security issue? Do not open a public issue. Follow SECURITY.md.
Ready? Fork the repo, branch from main, and open a pull request describing the change and how you verified it. If you are looking for a first task, the open issues are a good place to start. We read them, and we mean it when we say contributions are welcome.