Skip to content
Back to skills

Permit2 Addresses

ASecurity

Canonical Permit2 contract addresses by chain. Use when configuring multi-chain support.

  • 9 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 10, 2026
developmenttypescriptgofrontend

Security analysis

A100/100

Scanned September 10, 2026

npx -y skills add cyotee/indexedex --skill permit2-addresses --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Permit2 Addresses?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Permit2 Addresses
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/cyotee-permit2-addresses/badge)](https://www.skillsdirectory.com/skills/cyotee-permit2-addresses)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: permit2-addresses
description: Canonical Permit2 contract addresses by chain. Use when configuring multi-chain support.
---

# Permit2 Addresses

## Canonical Address

**All chains use the same address:**

```
0x000000000022D473030F116dDEE9F6B43aC78BA3
```

## By Chain ID

| Chain | Chain ID | Status |
|-------|----------|--------|
| Ethereum Mainnet | 1 | ✅ |
| Arbitrum | 42161 | ✅ |
| Optimism | 10 | ✅ |
| Base | 8453 | ✅ |
| Polygon | 137 | ✅ |
| Avalanche | 43114 | ✅ |
| BNB Chain | 56 | ✅ |
| Sepolia (testnet) | 11155111 | ✅ |
| Arbitrum Sepolia | 421614 | ✅ |
| Base Sepolia | 84532 | ✅ |
| Optimism Sepolia | 11155420 | ✅ |
| Foundry (local) | 31337 | ✅ |

## Usage in Code

```typescript
import { PERMIT2_ADDRESS } from '@uniswap/permit2-sdk'

// Or hardcoded (canonical)
const PERMIT2 = '0x000000000022D473030F116dDEE9F6B43aC78BA3'
```

## Dynamic Address (Optional)

```typescript
import { permit2Address } from '@uniswap/permit2-sdk'

const permit2 = permit2Address(chainId)
```

## Frontend Integration

The frontend stores addresses in:

```
frontend/app/addresses/{chain}/base_deployments.json
```

Example usage:

```typescript
import platformSepolia from './app/addresses/sepolia/base_deployments.json'
import platformFoundry from './app/addresses/anvil_base_main/base_deployments.json'

const permit2Address = chainId === sepolia.id 
  ? platformSepolia.permit2 
  : platformFoundry.permit2
```

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…