> ## Documentation Index
> Fetch the complete documentation index at: https://base-a060aa97-mux-docs-claude-6.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# IB20.approve

> Generated B20 reference for approve(address,uint256).

## Signature

```solidity theme={null}
function approve(address spender, uint256 amount) external returns (bool);
```

| Field               | Value                      |
| ------------------- | -------------------------- |
| Selector            | `0x095ea7b3`               |
| Canonical signature | `approve(address,uint256)` |

## Description

Sets `spender`'s allowance to `amount`. Not gated by any policy or by pause. Emits `Approval`.

## Parameters

| Parameter | Description                          |
| --------- | ------------------------------------ |
| `spender` | Account being granted the allowance. |
| `amount`  | Allowance amount.                    |

## Returns

Always `true` on success.

## Reverts

* `InvalidApprover` when `msg.sender == address(0)`.
* `InvalidSpender` when `spender == address(0)`.

## Access control

Read-only or ERC-20-standard access rules unless the NatSpec states otherwise.

## Policy interaction

No direct policy interaction.

## Example

```solidity theme={null}
IB20(target).approve(spender, amount);
```
