linea-token-list

Linea Token List

Curated lists of ERC-20 tokens available on Linea Mainnet and Linea Sepolia, used by the Linea canonical bridge UI.

The lists are manually curated by the Linea team and updated based on submitted PRs via the Linea Developer Hub.

Requirements

Getting Started

cp .env.example .env   # configure optional provider URLs
npm install
npm test               # run the unit-test suite

Development

See the full Development Guide for setup details, token addition procedures, and guidelines.

Common Commands

Command Description
npm test Run the unit-test suite (Jest)
npm run lint Check for lint errors (ESLint)
npm run lint:fix Auto-fix lint errors
npm run prettier Check formatting (Prettier)
npm run prettier:fix Auto-fix formatting
npm run verify Compile TypeScript, verify mainnet shortlist on-chain, and auto-format

Examples

# Verify the mainnet token list against on-chain data
npm run verify

# Lint and format in one shot
npm run lint:fix && npm run prettier:fix

Project Structure

linea-token-list/
├── .github/
│   ├── workflows/          # CI/CD workflow definitions
│   └── PULL_REQUEST_TEMPLATE.md
├── docs/
│   └── development.md      # Development guide and token-addition procedures
├── json/
│   ├── linea-mainnet-token-shortlist.json
│   ├── linea-sepolia-token-shortlist.json
│   ├── schema/
│   │   └── l2-token-list-schema.json
│   └── templates/
│       └── linea-sepolia-token-version-template.json
├── src/
│   ├── abis/               # ABI files (ERC-20, token bridge)
│   ├── config/             # App configuration and Joi schema
│   ├── logger/             # Winston logger setup
│   ├── models/             # TypeScript type definitions
│   ├── services/           # Core token verification service
│   └── utils/              # Helpers (validation, file I/O, Ethereum utils)
├── scripts/
│   └── verifyMainnetShortlist.ts  # Entry point for `npm run verify`
├── .env.example            # Environment variable template
├── eslint.config.js        # ESLint flat config
├── jest.config.js          # Jest configuration
├── tsconfig.json           # TypeScript configuration
└── package.json

Key tooling:

CI/CD

Continuous Integration

Workflow Trigger Description
Test and Validate JSON Push to main, PRs to main TypeScript check, lint, tests, formatting, JSON schema validation
Security Code Scanner Push to main, PRs to main MetaMask security code scanner

Continuous Verification

Workflow Trigger Description
Verify JSON Push to main Verifies mainnet shortlist against on-chain data

Add a Token to the Shortlist

If you represent a project with a token on Linea, it is beneficial to add it to the shortlist. Tokens on this list are reflected in the UI of the Linea canonical bridge.

Important: Before adding a new token, you must verify the token’s smart contract on an explorer. This ensures the authenticity and security of the token. You can verify the smart contract through LineaScan or other tools. The same verification should be done on Ethereum L1 and Linea if necessary.

To add a new token, go through the Linea Developer Hub registration process.

For maintainers who need to add a token manually, see the Development Guide.

Contributing

See CONTRIBUTING.md.

License

Dual-licensed under MIT or Apache-2.0.