import { fetchPermissions } from "@base-org/account/spend-permission";
import { createBaseAccountSDK } from "@base-org/account";

const sdk = createBaseAccountSDK({
  appName: 'My App',
  appLogoUrl: 'https://example.com/logo.png',
  appChainIds: [84532],
});

const permissions = await fetchPermissions({
  account: "0xUserBaseAccountAddress",
  chainId: 84532,
  spender: "0xAppSpenderAddress",
  provider: sdk.getProvider(),
});
Defined in the Base Account SDK
Returns all permissions available to a given spender for a user’s Base Account on a specific chain.

Parameters

account
address
required
User’s Base Account address to query.
chainId
number
required
Target chain ID.
spender
address
required
Spender address you intend to use for spending.
provider
EIP1193Provider
required
EIP-1193 compliant Ethereum provider instance. Get this from sdk.getProvider().

Returns

permissions
SpendPermission[]
Array of spend permissions matching the query.
import { fetchPermissions } from "@base-org/account/spend-permission";
import { createBaseAccountSDK } from "@base-org/account";

const sdk = createBaseAccountSDK({
  appName: 'My App',
  appLogoUrl: 'https://example.com/logo.png',
  appChainIds: [84532],
});

const permissions = await fetchPermissions({
  account: "0xUserBaseAccountAddress",
  chainId: 84532,
  spender: "0xAppSpenderAddress",
  provider: sdk.getProvider(),
});

Error Handling

Always wrap the call in a try-catch block to handle these errors gracefully.