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.
- Node.js v22.22.0 (see
.nvmrc) - npm v10.0.0+ (ships with Node.js; pinned to
10.9.2viapackageManager)
cp .env.example .env # configure optional provider URLs
npm install
npm test # run the unit-test suiteSee the full Development Guide for setup details, token addition procedures, and guidelines.
| 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 |
# 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:fixlinea-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:
- Package manager: npm (strict engine enforcement via
.npmrc) - Linting: ESLint with
typescript-eslint - Formatting: Prettier
- Testing: Jest with
ts-jest - Git hooks: Husky (pre-commit runs lint + format check)
| 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 |
| Workflow | Trigger | Description |
|---|---|---|
| Verify JSON | Push to main |
Verifies mainnet shortlist against on-chain data |
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.
See CONTRIBUTING.md.
Dual-licensed under MIT or Apache-2.0.