diff --git a/docs/api/token-api.mdx b/docs/api/token-api.mdx
new file mode 100644
index 000000000..66069cd2f
--- /dev/null
+++ b/docs/api/token-api.mdx
@@ -0,0 +1,226 @@
+---
+title: (Alpha) Token API
+image: /img/socialCards/linea-sdk.jpg
+---
+
+## Overview
+
+The Token API provides comprehensive programmatic access to token data on the Linea network.
+This API is designed for developers, builders and analysts who need detailed information about ERC-20 tokens and their activities on Linea.
+
+:::warning[Alpha Version Disclaimer]
+Linea's Token API is an alpha version and is subject to breaking changes.
+We recommend using it for testing and development purposes only.
+:::
+
+### Key Use Cases
+
+- Building automated trading bots
+- Creating token monitoring dashboards
+- Performing on-chain data analysis
+- DeFi application integration
+- Wallet and transaction tracking
+
+## Data Sources
+
+### Data Collection
+
+Data is collected from multiple sources:
+
+1. **On-chain Data**
+ - Smart contract state (name, symbol, decimals)
+
+2. **External Sources**
+ - [CoinGecko](https://www.coingecko.com/en/api)
+ - [MetaMask Token](https://docs.cx.metamask.io/docs/token-v2/)
+ - [MetaMask Price](https://docs.cx.metamask.io/docs/price/)
+ - [Pond.fun](https://pond.fun/)
+ - [Dune Analytics](https://dune.com/)
+
+### Data Updates
+
+- Periodic synchronization (every 2 hours) for token detection and metadata
+- Periodic synchronization (every 1 hour) for historical prices
+- Periodic synchronization (every 5 minutes) for current prices
+
+## API Endpoints
+
+### Tokens
+
+#### GET `/api/tokens`
+
+Retrieve the list of all available tokens on Linea.
+
+
+ **Response**
+ ```json
+ [
+ {
+ "name": "Wrapped Ether",
+ "symbol": "WETH",
+ "decimals": 18,
+ "logo": "https://s2.coinmarketcap.com/static/img/coins/64x64/2396.png",
+ "contractAddress": "0xe5d7c2a44ffddf6b295a15c148167daaaf5cf34f",
+ "currentPrice": "3321.74000000000000",
+ "priceUpdatedAt": "2025-01-09T09:36:02.194Z",
+ "info": {
+ "prices": [
+ {
+ "price": "3321.74000000000000",
+ "date": "2025-01-09T09:00:00.000Z"
+ }
+ ],
+ "sells": 3279,
+ "buys": 3722,
+ "graduatedAt": null
+ }
+ }
+ ]
+ ```
+
+
+#### GET `/api/tokens/{contractAddress}`
+
+Retrieve detailed information for a specific token.
+
+**Parameters**
+
+| Parameter | Type | Required | Description |
+|-------------------|--------|----------|-----------------|
+| contractAddress | string | Yes | Token address |
+
+
+ **Response**
+ ```json
+ {
+ "name": "Wrapped Ether",
+ "symbol": "WETH",
+ "decimals": 18,
+ "logo": "https://s2.coinmarketcap.com/static/img/coins/64x64/2396.png",
+ "contractAddress": "0xe5d7c2a44ffddf6b295a15c148167daaaf5cf34f",
+ "currentPrice": "3321.74000000000000",
+ "priceUpdatedAt": "2025-01-09T09:36:02.194Z",
+ "info": {
+ "prices": [
+ {
+ "price": "3321.74000000000000",
+ "date": "2025-01-09T09:00:00.000Z"
+ }
+ ],
+ "sells": 3279,
+ "buys": 3722,
+ "graduatedAt": null
+ }
+ }
+ ```
+
+
+### Prices
+
+#### GET `/api/tokens/new-gems`
+
+Retrieve recently bounded tokens from the [Pond.fun](https://pond.fun/) launchpad.
+
+
+ **Response**
+ ```json
+ [
+ {
+ "name": "CatWifCap",
+ "symbol": "CWC",
+ "decimals": 18,
+ "logo": "https://d12kvghf2eznx1.cloudfront.net/tokens/images/d0a931cd-7982-47e4-86c7-74be11ab0b09",
+ "contractAddress": "0x092b9e25a7d143c83d44c27194f5cee7c1150f22",
+ "currentPrice": "0.00013412000000",
+ "priceUpdatedAt": "2025-01-09T09:45:04.799Z",
+ "info": {
+ "prices": [
+ {
+ "price": "0.00013412000000",
+ "date": "2025-01-09T09:00:00.000Z"
+ }
+ ],
+ "sells": 0,
+ "buys": 0,
+ "graduatedAt": "2024-12-01T18:19:42.095Z"
+ }
+ }
+ ]
+ ```
+
+#### GET `/api/tokens/most-swapped`
+
+Retrieves most swapped tokens over the last 24 hours (from the [corresponding Dune query](https://dune.com/queries/4396527)).
+
+
+ **Response**
+ ```json
+ [
+ {
+ "name": "Foxy",
+ "symbol": "FOXY",
+ "decimals": 18,
+ "logo": "https://i.ibb.co/MSKkFbf/logo.png",
+ "contractAddress": "0x5fbdf89403270a1846f5ae7d113a989f850d1566",
+ "currentPrice": "0.01080016000000",
+ "priceUpdatedAt": "2025-01-09T09:50:05.106Z",
+ "info": {
+ "prices": [
+ {
+ "price": "0.01078276000000",
+ "date": "2025-01-09T09:00:00.000Z"
+ }
+ ],
+ "sells": 219,
+ "buys": 212,
+ "graduatedAt": null
+ }
+ }
+ ]
+ ```
+
+
+## Usage Examples
+
+### Simple Trading Bot Creation
+
+```typescript
+async function monitorPriceChange(contractAddress: string, threshold: number) {
+ const BASE_URL = 'https://not.live.yet';
+ const initialPrice = await fetch(`${BASE_URL}/api/tokens/${contractAddress}`).then(r => r.json());
+
+ setInterval(async () => {
+ const currentPrice = await fetch(`${BASE_URL}/api/tokens/${contractAddress}`).then(r => r.json());
+ const priceChange = (currentPrice.price.usd - initialPrice.price.usd) / initialPrice.price.usd;
+
+ if (Math.abs(priceChange) > threshold) {
+ // Execute trading strategy
+ console.log(`Price changed by ${priceChange}% - Trading signal`);
+ }
+ }, 60000); // Check every minute
+}
+```
+
+## Best Practices
+
+1. **Rate Limiting**
+ - This is an alpha version, with a low rate limit
+ - Cache static data
+
+2. **Error Handling**
+ - Always check HTTP status of responses
+ - Implement retry with exponential backoff
+ - Validate token addresses before requests
+
+3. **Performance**
+ - (Not available yet) Use pagination for large lists
+ - Implement local caching when appropriate
+
+## Security Considerations
+
+- Validate all input parameters
+- Sanitize response data
+
+## Support and Feedback
+
+For technical support or feature requests, reach out to us on [Discord](https://discord.com/invite/linea).
diff --git a/sidebars.js b/sidebars.js
index 5ce467b46..1b7b9597d 100644
--- a/sidebars.js
+++ b/sidebars.js
@@ -1,4 +1,4 @@
-/** @type {import('@docusaurus/plugin-content-docs').SidebarsConfig} */
+/** @type {import("@docusaurus/plugin-content-docs").SidebarsConfig} */
const sidebars = {
getStartedSidebar: [
{
@@ -573,6 +573,7 @@ const sidebars = {
},
],
},
+ "api/token-api",
],
technologySidebar: [
"technology/architecture",