In NEAR, users control their accounts using access keys, which can be full-access keys or function-call keys. Full-access keys allow complete control over the account, while function-call keys restrict actions to specific contracts. This system enables secure sharing of permissions and simplifies user interactions with applications.Documentation Index
Fetch the complete documentation index at: https://docs.near.org/llms.txt
Use this file to discover all available pages before exploring further.
Access Keys
In most blockchains, users control their accounts by holding a singleprivate key (a secret only they know) and using it to sign transactions.

Full-Access Keys: Have full control over the account, and should never be sharedFunction-Call Keys: Can only sign calls for specific contracts, and are meant to be shared
Function-Call Keys
Function-Call keys can only sign transactions calling a specific contract, and do not allow to attach NEAR tokens to the call.
They are defined by three attributes:
receiver_id: The only contract which the key allows to call, no other contract can be called with this keymethod_names(Optional): The contract’s methods the key allows to call. If omitted, all contract’s methods can be calledallowance(Optional): The amount of NEAR allowed to be spent on gas. If omitted, the key can consume unlimited gas
Function Call Keys are meant to be shared with applications, so third-parties can make contract calls in your name. This is useful in multiple scenarios as we will see below.
Full-Access Keys
As the name suggests,Full-Access keys have full control of an account, meaning they can be used to sign transactions doing any action in your account’s behalf:
- Transfer NEAR Ⓝ
- Delete your account or create sub-accounts of it
- Add or remove Access Keys
- Deploy a smart contract in the account
- Call methods on any contract
Full-Access, otherwise you are giving total control over the account.
Limited Access Key Caveats
Account with Only Function-Call Keys
If an account has no full-access keys and only function-call keys, it becomes effectively restricted:- It cannot transfer NEAR, delete itself, or manage its own keys
- It can only perform the specific contract calls defined by the key’s
receiver_idandmethod_names
Allowance Exhaustion
Theallowance field defines how much NEAR the key can spend on gas fees:
- If set to a specific amount and fully consumed → the key becomes unusable and no new transactions can be signed
- If set to
0or omitted → unlimited allowance (the key has no gas budget restriction)