Skip to content

docs: add Account Types page to Core Concepts (public, private, network) #185

@BrianSeong99

Description

@BrianSeong99

Context

The Core Concepts section (recently renamed from Design) is mostly empty. Account types — public, private, and network — are fundamental concepts that are currently scattered across quick-start and PSM docs with no dedicated conceptual page.

Proposed

Add docs/core-concepts/accounts.md covering:

Content

  1. Account ID structure — 120-bit encoding: type + storage mode + version
  2. Public accounts — state stored on-chain, readable by anyone. Use case: faucets, public registries, DEX orderbooks
  3. Private accounts — only commitment on-chain, state lives client-side. Use case: wallets, private vaults, confidential contracts
  4. Network accounts — special accounts for protocol-level operations (faucets, validators). How they differ from regular public accounts.
  5. Storage modes vs account types — clarify these are two orthogonal choices (AccountStorageMode vs AccountType)
  6. Decision matrix — when to use which type

References

  • AccountStorageMode enum in miden-base
  • AccountType enum in miden-base
  • AccountBuilder API in miden-client
  • quick-start/accounts.md (has some coverage but tutorial-style)
  • Paper: §2.1 Actors as Accounts

Approach

  • Diataxis: explanation style (conceptual, not tutorial)
  • Link to quick-start for hands-on setup
  • Link to smart-contracts/accounts/ for SDK reference
  • Cross-reference the protocol design docs for deeper technical details

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions