Skip to main content

Lesson's Progress0 / 6

0%

Access Keys and Permissions

Most commonly, blockchains use a rigid system where every account is linked to a single private key that has complete control over it.

NEAR accounts use a more flexible and secure access key system, allowing accounts to have multiple keys, each with different permission levels.

Full Access Keys

Full Access Keys behave like traditional private keys on other blockchains, meaning they have complete control over the account.

Function Call Keys


Why This Matters

There are multiple advantages to using multiple access keys with different permissions:

  1. Key rotation: If one key is compromised, you can replace it without losing your account
  2. Granular permissions: Different keys can have different levels of access
  3. Third-party integration: Apps can request limited permissions to your account to do specific tasks for you

Why Function Call Keys?

Imagine you are playing a game that registers your score on the blockchain.

On other protocols this will require you to either share your private key with the game (truly terrible idea), or to sign every single transaction manually.

With NEAR, the game can request a Function Call Key that only allows it call a function to update score on your behalf, nothing else.

This is not what the future of web3 gaming looks like


Quiz

What is the difference between a Full Access Key and a Function Call Key?

A. Full Access Keys are free, Function Call Keys cost money.

B. Full Access Keys have complete control, Function Call Keys have limited permissions for specific contracts.

C. Full Access Keys work on mainnet, Function Call Keys work on testnet.

D. Full Access Keys are for named accounts, Function Call Keys are for implicit accounts.