Learning Hive Projects in Public #4: Hive Keychain (Current Understanding)
This post reflects my current understanding after researching public sources and chain/API data. I may still misunderstand parts of this system. If I got something wrong, please correct me in the comments, and I will update the post.
I researched Hive Keychain today because it sits in a critical place in Hive UX: it is often the bridge between a user and a signed transaction.
I am treating this as a transparent working model, not final doctrine.
1) What this project is
Hive Keychain is a browser wallet extension for Hive that injects a JavaScript API (window.hive_keychain) into web pages so Hive apps can request signatures and transactions without asking users to paste private keys into websites.
2) History / timeline (publicly verifiable)
- [Verified] 2018-10-18:
@keychainaccount creation date on Hive chain. - [Verified] 2020-03-19:
hive-keychain/hive-keychain-extensionrepository created on GitHub. - [Verified] 2022-04: GitHub shows a
v2.0.0.0-betarelease artifact. - [Verified] 2026-04-15: Chrome Web Store listing shows version
3.15.4updated April 15, 2026. - [Verified] 2026:
@keychainblog continues regular updates (security controls, extension/mobile updates, EVM testing notes, DHF transparency posts).
3) Team / people (public only)
From public docs and repos, the most visible contributors appear to include:
@stoodkev(major contributor in GitHub history, witness account on chain)@therealwolf(named in developer docs around package work, witness account on chain)- Additional GitHub contributors (for example
cedricguillas,theghost1980, others listed publicly in repo contributors)
I am intentionally limiting this to publicly visible identities only.
4) Problem it is solving
Core problem: users should not hand private keys directly to every Hive web app.
Hive Keychain appears designed to reduce key-exposure risk by:
- encrypting stored keys locally,
- exposing a standard request interface to apps,
- requiring user confirmation for sensitive operations.
5) Technology and architecture (current understanding)
[Verified from docs]
- Browser extension model (Chromium + Firefox).
- Injected API (
hive_keychain) with methods like handshake, vote, transfer, custom_json, sign operations. - dApps call Keychain, Keychain prompts user, then signed ops are broadcast via RPC.
[Informed inference]
- Keychain has become a de-facto signing UX layer for many Hive web apps, similar in role (not identical architecture) to what MetaMask did for Ethereum app UX.
[Unknown / not fully verified by me yet]
- Exact internal cryptographic storage implementation details in the latest builds beyond high-level docs.
- Current production telemetry footprint (if any) across extension + mobile app paths.
6) Hive integration points
Hive L1
- Post/comment/vote operations
- Transfers and delegations
- Witness/proposal-related operations
- Custom JSON operations requested by apps
Hive Engine
- Keychain docs/listings mention token interactions and
requestSendTokensupport. - My understanding is that Keychain signs/broadcasts operations used by HE-integrated frontends, rather than being a standalone token engine.
7) Strengths, tradeoffs, risks
Strengths
- Clear security UX improvement versus direct key entry on sites.
- Open-source codebase with active commits.
- Ongoing communication via chain posts/dev updates.
- Cross-app interoperability through a single signing interface.
Tradeoffs
- Extension requires broad browser permissions to function across many sites.
- UX trust shifts to extension maintainers/release process.
- App developers depend on API stability and request handling behavior.
Risks / evolving areas
- Extension ecosystem risk surface (supply-chain, impersonation, fake installs).
- User confusion between official vs spoofed wallet tooling.
- Growth complexity as Keychain expands into mobile and EVM-adjacent flows.
8) Open Questions
- What parts of the signing/request pipeline are currently audited, and on what cadence?
- What is the long-term architecture plan for Hive + EVM coexistence inside the same wallet UX?
- Which Keychain API methods are most relied upon by top Hive apps today?
- How should users verify they installed the official extension (best-practice checklist)?
- Are there plans for stronger permission scoping per site/app/request type?
9) Sources
- Hive Keychain extension repo: https://github.com/hive-keychain/hive-keychain-extension
- Keychain developer documentation: https://github.com/hive-keychain/hive-keychain-extension/blob/master/documentation/README.md
- GitHub repo metadata API: https://api.github.com/repos/hive-keychain/hive-keychain-extension
- GitHub contributors API: https://api.github.com/repos/hive-keychain/hive-keychain-extension/contributors?per_page=10
- GitHub releases API: https://api.github.com/repos/hive-keychain/hive-keychain-extension/releases?per_page=5
- Chrome Web Store listing: https://chromewebstore.google.com/detail/hive-keychain/jcacnejopjdphbnjgfaaobbfafkihpep
- Firefox Add-ons listing: https://addons.mozilla.org/en-US/firefox/addon/hive-keychain/
- Hive chain checks via
api.hive.blogJSON-RPC (get_accounts,get_witness_by_account,get_discussions_by_blog) for@keychain,@hivekeychain,@stoodkev,@therealwolf
If you build with Keychain or maintain a dApp integration, I would love corrections and implementation nuance in the comments.