> **Can't find what you're looking for?** Use `search_docs` on the docs MCP server at `https://www.openfort.io/api/mcp` to find what you need.
>
> **Have feedback?** Use `submit_feedback` on the same MCP server.

# `useRevokePermissions`

Revoke permissions previously granted to session keys.

## Usage

```tsx
import { useRevokePermissions } from '@openfort/react';

function RevokeSessionKey() {
  const { revokePermissions, isLoading } = useRevokePermissions();

  const handleRevoke = async (permissionContext: `0x${string}`) => {
    const { error } = await revokePermissions({
      sessionKey: permissionContext,
    });

    if (error) return console.error(error.shortMessage);
    console.log('Session key revoked');
  };

  return (
    <button onClick={() => handleRevoke('0x...')} disabled={isLoading}>
      Revoke Session Key
    </button>
  );
}
```

## Return type

```ts
type UseRevokePermissionsReturn = {
  revokePermissions(params: RevokePermissionsParams, options?: RevokePermissionsHookOptions): Promise<RevokePermissionsHookResult>
  data: SessionResponse | null
  reset(): void
  isLoading: boolean
  isError: boolean
  isSuccess: boolean
  error: OpenfortError | null | undefined
}

type RevokePermissionsHookResult = {
  error?: OpenfortError
} & Partial<SessionResponse>

// SessionResponse from @openfort/openfort-js
type SessionResponse = {
  id: string
  object: 'session'
  address: string
  // ... session details
}
```

## Hook options

Configure default behavior when initializing the hook.

```ts
type RevokePermissionsHookOptions = {
  onSuccess?: (data: RevokePermissionsHookResult) => void
  onError?: (error: OpenfortError) => void
}
```

## Parameters

### revokePermissions

Revocation uses the active embedded Ethereum wallet.

```ts
type RevokePermissionsParams = {
  sessionKey: Hex  // EIP-7715 permission context to revoke
}
```

## Related

* [Session Keys Guide](https://www.openfort.io/docs/products/embedded-wallet/react/wallet/actions/session-keys)
* [useGrantPermissions](https://www.openfort.io/docs/products/embedded-wallet/react/hooks/useGrantPermissions)
