> ## 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.permit

> Generated B20 reference for permit(address,address,uint256,uint256,uint8,bytes32,bytes32).

## Signature

```solidity theme={null}
function permit(address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) external;
```

| Field               | Value                                                           |
| ------------------- | --------------------------------------------------------------- |
| Selector            | `0xd505accf`                                                    |
| Canonical signature | `permit(address,address,uint256,uint256,uint8,bytes32,bytes32)` |

## Description

EIP-2612 permit. Recovers `owner` via ECDSA from `(v, r, s)`. EOA signatures only; ERC-1271 contract signatures are NOT supported. Emits `Approval`.

## Parameters

| Parameter  | Description                                          |
| ---------- | ---------------------------------------------------- |
| `owner`    | Token holder granting the allowance.                 |
| `spender`  | Account being granted the allowance.                 |
| `value`    | Allowance amount.                                    |
| `deadline` | Unix timestamp after which the signature is invalid. |
| `v`        | ECDSA recovery byte.                                 |
| `r`        | ECDSA signature r component.                         |
| `s`        | ECDSA signature s component.                         |

## Reverts

* `ExpiredSignature` when `block.timestamp &gt; deadline`.
* `InvalidSigner` when ECDSA recovery does not yield `owner`.
* `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).permit(owner, spender, value, deadline, v, r, s);
```
