Steem Keychain Mobile: Phase 6 & 7 — Full dApp Operation Support

Hello everyone,
Following Phase 5 (Browser & Keychain Bridge), I am sharing the next milestone for Steem Keychain Mobile.
In Phase 5, we introduced the in-app browser, the Keychain bridge injection, and previewed the first request operations (transfers, votes, and posts). Phase 6 & 7 (Releases 24–31) take that foundation and expand it to support the full range of Steem blockchain operations — delegation, power management, witness voting, proxy, transaction signing, memo encryption, and more.
The wallet now handles every operation type that a dApp can request through the Keychain API.
Note: I have also made some updates to the full roadmap post to keep it accurate and aligned with the current development progress.
Watch the demo:
What Is New
Delegation Requests
- dApps can request delegating Steem Power to another account
- Automatic SP/VESTS conversion — whether the dApp sends SP or VESTS, the wallet handles the conversion
- Remove delegation — when amount is 0, the UI switches to "Remove Delegation" with a distinct red icon and "Remove all" label
Power Up Requests
- dApps can request converting liquid STEEM to Steem Power
- Supports powering up to a different account (not just self)
- Info banner explaining the STEEM → SP conversion
Power Down Requests
- dApps can request starting a power down
- 13-week warning banner — a clear red warning explaining that SP will be distributed over 13 weekly payments
- Cancel power down — when amount is 0, the UI shows "Cancel Power Down" with an amber icon
Witness Vote Requests
- dApps can request voting or unvoting a witness
- Vote — green checkmark icon with "Vote" label
- Unvote — red X icon with "Unvote" label
- Clear visual distinction between the two actions
Proxy Requests
- dApps can request setting or removing a voting proxy
- Informational message — when setting a proxy, the modal explains that the proxy will vote on witnesses and proposals on your behalf
- Remove proxy — amber icon with "Remove current proxy" display
Sign Transaction (without broadcasting)
- A dApp can request signing a transaction without broadcasting it
- Essential for multi-signature workflows or deferred broadcasting
- The modal clearly warns: "This will NOT broadcast the transaction"
- Full JSON preview of the transaction being signed
- Shows the operation names and key type being used
What I Enhanced During Testing
- Consistent pattern — every operation follows the same secure flow: review details → confirm → broadcast. Once you learn one, they all feel familiar
- Automatic key selection — the wallet picks the correct key type (Active, Posting, or Memo) based on the operation
- Error handling — clear messages if a key is missing, the wallet is locked, or the broadcast fails
- "Don't ask again" checkbox — for trusted dApps, users can auto-approve future requests of the same type from the same domain
- Account selector — when a dApp does not specify a username, a dropdown lets the user choose which account to use
- Auto-execution — trusted operations (signBuffer, encode, decode, signTx) can execute automatically for approved domains
What Is Coming Next — Deep Linking (Phase 8)
The next phase connects the wallet to the outside world:
steem://protocol — handle transfer, vote, delegation URIs from external apps and browserssteem-keychain://protocol — open the browser, add accounts, or trigger request signing from outside the app- QR code deep links — scan QR codes containing operation URIs and shareable links
Current Roadmap Status
| Phase | Status |
|---|---|
| Phase 1 — Core Foundation (R1–R6) | ✅ Tested |
| Phase 2 — Basic Transactions (R7–R9) | ✅ Tested |
| Phase 3 — History & Advanced Power (R10–R13) | ✅ Tested |
| Phase 4 — Savings & Governance (R14–R19) | ✅ Tested |
| Phase 5 — Browser & Keychain Bridge (R20–R23) | ✅ Tested |
| Phase 6 & 7 — Full dApp Operation Support (R24–R31) | ✅ Tested — Your turn to test |
| Phase 8 — Deep Linking (R32–R34) | Next |
| Phase 9–11 | Upcoming |
What I Need From You
Now it is your turn. The Keychain bridge now supports every core Steem operation. Please test and share your feedback:
- Try delegation — Delegate a small amount of SP via a dApp. Does the SP/VESTS conversion work?
- Test power down — Does the 13-week warning appear? Is the cancel power down flow clear?
- Check witness voting — Vote and unvote a witness. Are the states visually distinct?
- Try proxy — Set a proxy. Is the informational message helpful?
- Review Sign Transaction — Is the JSON preview readable? Is the "not broadcasted" warning clear enough?
- Test custom JSON — Follow a user through a dApp. Does the JSON preview make sense?
- Share your thoughts on the UI/UX — What would you improve?
Your feedback directly shapes the next phases. Every suggestion matters.
Download the APK
Phase 7 (Release 31) — Full dApp Operation Support:
Note: Since this is a beta APK, your phone may show a security warning about installing from unknown sources. This is normal for apps distributed outside the Play Store.
About Me
Hi! I'm kafio, I build tools for Steem. My projects:
PixelCraft — pixel art game on blockchain
https://pixelcraft-beta.steemhub.tech
SteemHub — A platform that showcases my Steem-based projects, helping users discover and engage with the ecosystem.
Other tools:
- Stats & Analytics: https://stats.steemhub.tech/
- Memory Game: https://memory-game.steemhub.tech/
- Chrome Extensions: Steemit Blog Formatter and Steemit Notification Saver
Contributing to the Steem ecosystem. Support my work by voting for my witness: @kafio.wit
Vote: https://steemitwallet.com/~witnesses
Thank you!
