Skip to main content

wallet_requestPermissions

MetaMask

Requests additional permissions from the user. Introduced by EIP-2255.

Params

(1)

1. requestPermissionsObject (required)

permission
object

The requested permission.

Result

(PermissionsList)
array of:
id
string

The permission ID.

@context
array[string]

When two people communicate with one another, the conversation takes place in a shared environment, typically called 'the context of the conversation.' This shared context allows the individuals to use shortcut terms, such as the first name of a mutual friend, to communicate more quickly without losing accuracy. A context in JSON-LD works the same way: it allows two applications to use shortcut terms to communicate more efficiently without losing accuracy.

invoker
string

A URI of the dapp being granted this permission.

caveats
array[Caveat]

Every capability document MAY add restrictions on the way the capability may be used by adding to the caveat property. Capabilities inherit the restrictions from all caveat properties of their parents, and MAY add new caveats in addition to those of their parents.

type
string

Type of caveat.

value

Value of the caveat.

name
string

Name of the caveat.

Errors

CodeMessage
4001User rejected the request.

Examples

Request

await window.ethereum.request({
"method": "wallet_requestPermissions",
"params": [
{
"eth_accounts": {}
}
]
});

Result

{
"eth_accounts": {}
}

Params

requestPermissionsObject

permission

Request

await window.ethereum.request({
"method": "wallet_requestPermissions",
"params": [
null
]
});