dumbtv
dumbtv takes the ads, screen tracking and update nags out of your Fire TV over ADB. No root, none of your apps touched, every step can be undone. Free and open source.
翻译准备中
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证A passport and an account for every AI agent — ENS names that resolve in real wallets, with verifiable records
翻译准备中
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
MusePass
A passport and an account for every AI agent.
A name that resolves in any wallet · a card another agent can read · a record anyone can check
Live today: a name that resolves in a real wallet, and a card the owner publishes
on chain with their own signature. Design, not shipped: the vault, the bond, the
stamps and the notary seats. The name is a live NFT. Nothing here is audited,
and nothing here holds customer money.查看完整 README ↗Live today: a name that resolves in a real wallet, and a card the owner publishes on chain with their own signature. Design, not shipped: the vault, the bond, the stamps and the notary seats. The name is a live NFT. Nothing here is audited, and nothing here holds customer money.
Agents can already pay, hire and be paid. What they cannot do is say who they are, or prove what they did, in a form the other side can check without trusting a platform.
An address has no name, no history and nobody accountable behind it. MusePass gives an agent a name that resolves anywhere ENS is spoken, a card that describes what it does, and a record built from evidence rather than from our word.
wallet or agent asks ENS mainnet resolver our gateway names live here
───────────────────────────▶ 0x9eA7A889… ──CCIP-Read──▶ gw.musename.xyz ──▶ Robinhood Chain 4663
name → address (ours) (ERC-3668) registry + registrar
The resolution path deliberately crosses two chains: the name is ENS on Ethereum
mainnet, so every wallet can read it, while the registry that mints it lives on an L2
where a registration costs cents. The L1 resolver is a deployed copy of
ensdomains/durin — we did not write a name
system, we run one.
Everything below was read from the chain or from the live service on that date. Open the explorers and check it rather than taking this file's word for it.
| What | Where it is | Check it |
|---|---|---|
| Names resolve on Ethereum mainnet | peter.musepass.eth → 0x2d319F91…, and abced.musename.eth → 0x022Ce19a…85b7, both through the resolver below | pnpm l1:resolver · root pointed at the resolver, tx 0xc423ffff… |
| Our L1 resolver is deployed | 0x9eA7A8896a68717e587BC1EE17B6b0B80EEeb443 — Durin's bytecode, our gateway URL and our signing key | deploy tx 0xa7911098… |
| Names are minted on Robinhood Chain | registry 0x4b959e1Fb5567cAa7FE21D0D2a7F870Af705B792 · registrar 0xb1e8A90E5a9b1C8E69242BC70d928789D89c02b7 | registrar tx 0xe01cd3b2… |
| The registration needs the owner's signature, not the platform's | the registrar only accepts an EIP-712 payload signed by the address that will own the name | pnpm verify:local proves it on a throwaway chain, digest against contract |
| A card is published on chain | an ERC-8004 text record, signed by the owner, private by default | pnpm --filter @musename/api test · package @musename/core |
| Records are anchored | Robinhood Chain, block 75420865, 2 records under one merkle root | tx 0xad4c4d97… |
| An AI can register by itself | MCP over HTTPS, plus a self-signing path for agents that hold their own key | MCP server · pnpm agent:probe |
musepass.eth is connected: its owner signed the two one-time transactions that point
the root at this resolver and tell the resolver where the names live, so names under it
resolve in any wallet that speaks ENS. Names minted under the earlier root keep
resolving too — that is why both are listed above.
A project that sells credibility has to be the first to say what it cannot do. These are
on the trust page as well, and pnpm claims:check fails
the build if any published sentence outruns its evidence.
| Not true today | Why it is written down |
|---|---|
| "The platform cannot change your name." | The registry admin is an operational key, and it can add a registrar. A watchdog (scripts/security-power-inventory.mjs) reports the moment that happens; moving the permission to a multisig is the fix, and it has not been done. |
| "Independently verified." | The only verifier today is our own engine, from the same team. |
| "Records cannot be changed." | The append-only record contract is written and tested, and is not deployed. What exists on chain is one zero-value self-transfer carrying a merkle root. |
| "Audited." | No external audit has been done. Anything that touches money waits for one. |
The name is an ERC-721 that lives in its owner's wallet. Other things people might call an NFT are not one today.
| Thing | What it actually is |
|---|---|
| Name | The ERC-721. One per name, issued by invitation; for invited wallets we pay the gas |
| Card | An on-chain record, not a token |
| Passport stamps | Data on the name, not tokens |
| Genesis cover | The list is live — the first 1,000 names get genesis numbers served by /v1/genesis. The cover art itself is not built |
| Invitation to claim a name | A row in config/invitations.json (or the DB ledger) plus a signature from the wallet that claims it — not a transferable token |
| Notary seat | Planned, capped at 1,000, not issued |
If something claims to be a MusePass collection or a seat sale and it is not in this repository, it is not ours.
No testnet money and no private key are needed for any of these.
pnpm install
pnpm check # typecheck · 492 tests · 65 contract tests · claim gates · English-only web
pnpm verify:local # deploys the contracts on a throwaway chain and walks the whole path:
# sign off chain → mint on chain → API → MCP tools → the real pages
pnpm l1:resolver # reads the deployed resolver on mainnet and says what it points at
pnpm verify:vectors # runs our verifier against the ERC-8412 draft's own consistency vectors
pnpm wallet:compat # 17 machine checks: ENS resolution through viem and ethers across 4 RPCs
pnpm health # 15 checks against the live service, from outside
pnpm claims:check # every published sentence against the gate it depends on
pnpm snapshot:names # exports every name from the chain with a sha256 anyone can compare
pnpm verify:local is the one to run first: it asserts that the EIP-712 digest computed
off chain is byte-for-byte the digest the contract accepts, that the name is minted to
the signer and never to the address paying the gas, and that both address records
(ENSIP-11 and mainnet coinType) are written.
A card follows ERC-8004 and answers three questions about an agent: what it is, what it runs on, and how to reach it. Two rules shape it.
contracts/ Foundry: the registrar that mints names, and the record contract
packages/core/ Normalisation, confusable detection, reserved names, pricing, cards
packages/verify/ Offline record verifier — one command, no dependencies on us
apps/gateway/ CCIP-Read gateway: ERC-3668 responses, signing, metrics
apps/api/ Public read API, registration backend, confirmation links
apps/mcp/ MCP server: nine tools, so an AI can register and publish by itself
apps/web/ The site: landing, claim, name pages, verify, anchors, developers
config/ Brand, chain addresses, pricing, limits, reserved names — no code changes
scripts/ One command per promise: local end to end, health, snapshots, probes
The npm scope inside the monorepo is @musename/*; the product is MusePass. It is a
leftover from the rename and is deliberate, because the on-chain identifiers that must
never change (the resolver's gateway hostname, the ENS text key musename.card, the
record digest tag) use the same name.
Nothing about the brand, the chain or the price list is hardcoded:
| File | What it holds |
|---|---|
config/brand.json | Product name, root name, canonical domain, support address |
config/chains.json | Chain ids, registry and registrar addresses, the previous deployment |
config/pricing.json | Free tier, premium tiers, certification fee |
config/limits.json | Free allowance, sponsorship caps, label rules, rate limits |
config/reserved-names.json | Reserved brand, platform, public-figure and system names |
The public documentation lives on the site and in this repo's code:
packages/verify — the offline verifier and its
test vectorsReport a vulnerability through GitHub's private channel (Security → Report a vulnerability); see SECURITY.md. That file also lists the weaknesses we already know about, so reporting those again is not a finding.
See CONTRIBUTING.md. Three rules are not negotiable: do not invent
data, pnpm claims:check must pass, and the site is English only (the build
enforces it). Core contracts are not rewritten here — the registry, the resolver and the
signature validator are Durin's published bytecode. The one contract we wrote mints
names, holds no funds and has no upgrade path.
Code is MIT (LICENSE); vendored third-party parts keep their own licences, listed in NOTICE.
MusePass is an independent project. It is not affiliated with, endorsed by, or sponsored by Meta Platforms, Inc. or any of its products.