wallet_getPermissions
Get all permissions for an account.
Authentication Required: No (if address provided)
Request
await jaw.provider.request({
method: 'wallet_getPermissions',
params: [{ address: '0x1234...' }],
});Parameters
| Name | Type | Required | Description |
|---|---|---|---|
address | string | No* | Account address to query |
*Required if not authenticated. Auto-injected if authenticated and not provided.
Example
[{ "address": "0x1234567890123456789012345678901234567890" }]Or when authenticated (auto-injects address):
[]Response
Returns an array of permission objects.
Type: array
Example
[
{
"id": "0xabc123...",
"account": "0x1234567890123456789012345678901234567890",
"spender": "0x5678901234567890123456789012345678901234",
"chainId": "0x1",
"expiry": 1735689600,
"calls": [{
"target": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"selector": "0xa9059cbb"
}],
"spends": [{
"token": "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE",
"limit": "0x16345785d8a0000",
"period": "day"
}]
}
]Permission Object Fields
| Field | Type | Description |
|---|---|---|
id | string | Unique permission identifier (hash) |
account | string | Account that granted the permission |
spender | string | Address that received permissions |
chainId | string | Chain ID (hex) |
expiry | number | Unix timestamp when permission expires |
calls | array | Granted call permissions |
spends | array | Granted spend limits |
Behavior
- Can be called without authentication if address provided
- Auto-injects connected address if authenticated
- Returns empty array if no permissions found
Errors
| Code | Description |
|---|---|
| -32602 | Invalid params (address required when not authenticated) |
Example
const permissions = await jaw.provider.request({
method: 'wallet_getPermissions',
});Related Methods
- wallet_grantPermissions - Grant new permissions
- wallet_revokePermissions - Revoke permissions