David dispatched the mainnet cutover this morning: deploy-mainnet.yml ran successfully at
2026-07-31T11:00:06Z-11:01:20Z, deploying commit 04e410b (the PR #11 merge, itself the tip of
main after PRs #9/#10/#11 all merged 10:39:29Z-10:39:59Z the same morning). Testnet had already
auto-deployed the identical commit at 10:40:01Z-10:41:50Z. The non-custodial migration is now
complete on both hosted instances, not just in the code - the exact moment the prior docs pass's
deliberately-hedged notice was written for.
Verified directly before writing anything, not taken on faith from the dispatch: git/gh confirm
the merge timestamps and that both deploy workflow runs targeted 04e410b exactly; the custody
grep and safety.ts's absence were reconfirmed on this exact commit; both hosted endpoints
(https://mcp.vector.mainnet.apexfusion.org/sse and the testnet equivalent) were probed directly
with a bare curl request and both returned HTTP 401 right now - meaningful evidence on its own,
since the pre-PR#8 image had no auth at all, so a 401 today proves post-migration code is what's
actually running, not just what the deploy logs claim.
- README.md: the deployment-status callout rewritten with the dated, both-networks-current
facts, replacing the custody caveat with an access caveat - both instances require a bearer
token from the operators now (an access control, not a custody signal; neither instance would
accept a mnemonic from an authenticated caller either, since the tool schemas that would carry
one no longer exist). The connect command now shows the bearer-token header syntax, verified
against Claude Code's own current `claude mcp add` documentation before writing it (`--transport
sse` accepts `--header "Authorization: Bearer <token>"`, same as `--transport http`). The
security notice rescoped from "this codebase, not every deployment" to a dated claim: complete
in this codebase and on both hosted instances as of the 2026-07-31 cutover deploy specifically,
explicitly not a "forever" claim - a future deploy is a separate operational action.
- packages/signer/README.md: the two passages scoped to "this codebase" in the prior docs pass
now scoped to "any instance running the 2026-07-31 deploy or later," mainnet included, with the
same access-control caveat about the bearer token.
- docs/architecture/non-custodial-split.md: PR-sequence row 9 (mainnet cutover) gets the same
landed-marker style as rows 6-8, dated; section 11's rollout paragraph gets its one now-historical
clause corrected to past tense with a dated annotation appended, following the established
forward-only annotation convention rather than rewriting the paragraph.
Open public access (no token, per-IP rate limiting) remains a planned follow-up, not yet an open
PR or branch - checked directly (gh pr list, git branch -a) rather than assumed, and stated in
the docs as planned, not implied as already in progress.