Post-Quantum Accounts

Identity

TruthLinked accounts are derived from post-quantum public keys. The CLI creates keyfiles, derives account IDs locally, signs transaction intents, and supports name-based UX through the .tl registry.

ML-DSA-style keysAccount IDsKey rotation intent.tl names

01 Account Creation

axiom keygen --output ~/.truthlinked/default.keys
axiom account-id --from ~/.truthlinked/default.keys

The account ID is derived from public key material. The keyfile remains local and is used to sign transactions.

02 Public Keys And New Recipients

A transfer can target an existing account ID. If the recipient has no known on-chain account yet, the sender can include the recipient public key so the chain can derive and initialize the destination correctly.

axiom transfer --from ~/.truthlinked/default.keys --to <account_id> --amount 10
axiom transfer --from ~/.truthlinked/default.keys --to <account_id> --to-pubkey <pubkey_hex> --amount 10

03 Key Rotation

The protocol includes a RotateKey transaction intent. Its purpose is to let an account change underlying public key material without changing the account identity model exposed to applications.

04 .tl Names

Names are the human-readable layer above raw account and cell IDs. The current CLI supports name proposal/update and ownership transfer.

axiom propose-name --from ~/.truthlinked/default.keys --name alice.tl --target <id> --owner <owner_id>
axiom transfer-name --from ~/.truthlinked/default.keys --name alice.tl --new-owner <owner_id>
axiom transfer --from ~/.truthlinked/default.keys --to-name alice.tl --amount 1

05 Key Custody Rules

  • Keep keyfiles outside public repos and shared folders.
  • Use separate keys for validator, operational, and application roles.
  • Back up validator keys before staking.
  • Use names for user-facing addressability, not as a replacement for key custody.