Skip to main content

Address (Account ID)

Every NEAR account is identified by a specific address. Based on their name, two types of accounts can be distinguished:

  1. Named accounts, with human readable names such as alice.near.
  2. Implicit accounts, referred by 64 chars (e.g. 98793cd91a3f870fb126f662858[...]).
For an account name to be valid, it must adhere to the specification's account ID rules. :::

Implicit Accounts

Implicit accounts are similar to the classic Bitcoin/Ethereum accounts. They are defined by a 64 character address, which corresponds to a unique ED25519 key-pair.

For example:

  • The public key in base58: BGCCDDHfysuuVnaNVtEhhqeT4k9Muyem3Kpgq2U1m9HX
  • Refers to the implicit account: 98793cd91a3f870fb126f66285808c7e094afcfc4eda8a970f6648cdf0dbd6de

Named Accounts

In NEAR, users can register named accounts (e.g. bob.near) which are simpler to use and remember.

Moreover, named accounts can create sub-accounts of themselves, helping to better organize related-accounts. In this way, named accounts work as domains, particularly:

  1. Only the registrar account can create short top-level accounts (<32 char).
  2. Anyone can create long (>= 32 chars) top-level accounts.
  3. An account can only create immediate sub-accounts of itself.

In other words:

  1. Only registrar can create short top-level accounts (e.g. near, aurora).
  2. Anyone can create long top-level accounts, e.g. verylongaccountnamethatis32chars.
  3. near can create bob.near, and bob.near can create app.bob.near.
  4. near cannot create app.bob.near, and test.near cannot create sub.example.near.

Currently, mainnet accounts are sub-accounts of .near (example.near), and testnet accounts are sub-accounts of testnet (example.testnet).

Accounts have no control over sub-accounts, since they do NOT share access keys :::