Skip to content

docs: document ML-DSA-65 post-quantum access keys#3061

Draft
r-near wants to merge 4 commits into
masterfrom
docs/post-quantum-access-keys
Draft

docs: document ML-DSA-65 post-quantum access keys#3061
r-near wants to merge 4 commits into
masterfrom
docs/post-quantum-access-keys

Conversation

@r-near

@r-near r-near commented Jun 18, 2026

Copy link
Copy Markdown
Contributor

What

Documents the ML-DSA-65 (FIPS 204) post-quantum signature scheme as a third access-key / transaction-signing option alongside ed25519 and secp256k1.

Covers the feature added in nearcore#15731, the SDK support in near-sdk-rs#1557, and the CLI support in near-cli-rs#605.

Changes

  • protocol/accounts-contracts/access-keys.mdx — new Signature Schemes section (a canonical comparison of the three schemes) plus a Post-Quantum Keys (ML-DSA-65) subsection covering FIPS 204, key/signature sizes, on-chain hash storage (48-byte SHA3-384), and the ml-dsa-65-hash: view behavior.
  • api/rpc/contracts.mdx — documents view_access_key and view_access_key_list (previously undocumented) and how ml-dsa-65 keys surface as ml-dsa-65-hash: in key lists.
  • tools/cli.mdx — new Generate a key pair section (generate-keypair), --signature-scheme ml-dsa-65 examples on the add-key autogenerate flow, and a note on the delete-key picker limitation for hash-only PQ keys.
  • smart-contracts/anatomy/actions.mdx — note that add_access_key / add_full_access_key accept ml-dsa-65 public keys with no code changes.
  • smart-contracts/anatomy/environment.mdx — note that signer_account_pk may return an ml-dsa-65 key.

Notes for reviewers

  • Draft until 2.13 ships. ML-DSA-65 is enabled by the PostQuantumSignatures protocol feature, stabilized at protocol version 85 (the nearcore 2.13 stable version). The CLI support (near-cli-rs#605) is itself a draft pending 2.13 crate publication, so this stays a draft until the release is live. Content is written GA-style, as agreed.
  • Scope: access keys + transaction signing only. Validator keys, block production, implicit-account addresses, and on-chain signature verification remain ed25519 / secp256k1. PQ keys are random-only (no seed phrase) and have no implicit-account form.
  • near-api-js still pending: no ml-dsa-65 support in the JS client yet, so the JS key examples in tools/near-api.mdx are unchanged — a follow-up for when it lands.
  • All technical values verified against nearcore core/crypto/src/signature.rs: sizes 1952 / 3309 / 4032 B, 48-byte SHA3-384 trie hash, domain tag near:ml-dsa-65-pubkey-hash:v1.

@mintlify

mintlify Bot commented Jun 18, 2026

Copy link
Copy Markdown
Contributor

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated (UTC)
neardocs 🟢 Ready View Preview Jun 18, 2026, 5:59 PM

💡 Tip: Enable Workflows to automatically generate PRs for you.

Resolve access-keys.mdx: keep both the new 'Limited Access Key Caveats'
(from master) and 'Signature Schemes' (this branch) sections.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: NEW❗

Development

Successfully merging this pull request may close these issues.

1 participant