← Files AlliumARCHIVED FILE
skills/vercel-app-deployment/SKILL.md
6.09 KB · Sep 30, 2026 · 23:01 UTC
---
name: vercel-app-deployment
description: |
**Required for Vercel app tools.**
Read this skill BEFORE using create_vercel_app to understand
app types, configuration options, and the iteration workflow.
---
# Vercel App Deployment
Generate and deploy Next.js apps powered by Allium data APIs.
## App Types
### wallet_tracker
Track wallet holdings, PnL, and transaction history.
**Features:**
- Token holdings with USD values
- PnL chart showing portfolio value over time
- Transaction history with send/receive indicators
- Multi-chain support
**Options:**
```json
{
"show_pnl": true, // Show PnL chart (default: true)
"show_transactions": true // Show transaction history (default: true)
}
```
**Example:**
```json
{
"app_type": "wallet_tracker",
"title": "My Wallet Tracker",
"chains": ["ethereum", "polygon", "arbitrum"],
"theme": "dark",
"options": {"show_pnl": true, "show_transactions": true}
}
```
### token_analytics
Analyze token prices and market stats.
**Features:**
- Price chart with time range selection (24H, 7D, 30D, 90D)
- Token stats cards (price, price change 24h)
**Options:**
```json
{
"show_stats": true // Show stats cards (default: true)
}
```
**Example:**
```json
{
"app_type": "token_analytics",
"title": "Token Analyzer",
"chains": ["ethereum", "base"],
"theme": "light"
}
```
### price_chart
Dedicated OHLCV price chart with dynamic coloring and detailed stats.
**Features:**
- OHLCV (Open, High, Low, Close, Volume) price chart
- Dynamic green/red coloring based on price direction
- Detailed OHLC tooltip showing all price data points
- Stats card with current price, 24h change, 24h high/low
- Time range selection (24H, 7D, 30D, 90D)
- Optional pre-configured token address
**Options:**
```json
{
"default_token_address": null, // Pre-configured token (default: null)
"default_chain": null, // Pre-configured chain (default: first chain)
"show_ohlc_details": true, // Show OHLC in tooltip (default: true)
"show_stats_card": true, // Show price stats card (default: true)
"show_token_selector": true // Allow changing token (default: true)
}
```
**Example:**
```json
{
"app_type": "price_chart",
"title": "WETH Price Tracker",
"chains": ["ethereum", "base", "arbitrum"],
"theme": "dark",
"options": {
"default_token_address": "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2",
"show_ohlc_details": true
}
}
```
**When to use price_chart vs token_analytics:**
- Use `price_chart` when the focus is on detailed price visualization with OHLCV data and dynamic coloring
- Use `token_analytics` for general token analysis with market cap, volume, and liquidity stats
### wallet_flows
Visualize wallet inflows and outflows as a Sankey diagram.
**Features:**
- Sankey flow chart showing token transfers
- Table view with detailed inflow/outflow data
- Aggregates transfers by counterparty
**Example:**
```json
{
"app_type": "wallet_flows",
"title": "Wallet Flow Analyzer",
"chains": ["ethereum", "polygon"],
"theme": "dark"
}
```
### custom_dashboard
Custom SQL dashboard with configurable widgets.
**Features:**
- Data tables from Allium Explorer queries
- Charts (line, bar, pie) from query results
- Metric cards for single values
**Options:**
```json
{
"widgets": [
{
"type": "metric",
"title": "Total Users",
"query_id": "abc123"
},
{
"type": "chart",
"title": "Daily Active Users",
"query_id": "def456",
"chart_type": "line"
},
{
"type": "table",
"title": "Top Wallets",
"query_id": "ghi789"
}
]
}
```
Widget types:
- `metric`: Single value (first cell of query result)
- `chart`: Line, bar, or pie chart
- `table`: Data table with all results
## Supported Chains
- `ethereum` - Ethereum Mainnet
- `polygon` - Polygon PoS
- `arbitrum` - Arbitrum One
- `optimism` - Optimism
- `base` - Base
- `avalanche` - Avalanche C-Chain
- `bsc` - BNB Smart Chain
- `solana` - Solana
## Workflow
### Initial Creation
1. Call `create_vercel_app` with app type and options
2. Tool generates Next.js app and deploys to Vercel
3. Returns `app_id`, `deployment_url`, and `claim_url`
4. User clicks `claim_url` to take ownership on Vercel
5. User adds `ALLIUM_API_KEY` in Vercel project settings
### Iteration
1. `list_vercel_app_files` - See file structure
2. `read_vercel_app_file` - Read files to modify
3. `write_vercel_app_file` - Update files (can batch multiple writes)
4. `deploy_vercel_app` - Deploy changes
**Example iteration:**
```text
User: "Add a dark mode toggle"
1. list_vercel_app_files(app_id="abc123")
-> See: app/layout.tsx, components/...
2. read_vercel_app_file(app_id="abc123", file_path="app/layout.tsx")
-> Get current layout code
3. write_vercel_app_file(app_id="abc123", file_path="components/ThemeToggle.tsx", content="...")
-> Create new component
4. write_vercel_app_file(app_id="abc123", file_path="app/layout.tsx", content="...")
-> Update layout to include toggle
5. deploy_vercel_app(app_id="abc123")
-> Deploy updated app
```
## Post-Deployment Setup
After claiming the app, the user must:
1. Go to Vercel project settings
2. Navigate to Environment Variables
3. Add: `ALLIUM_API_KEY` = their API key from <https://app.allium.so/settings/api-keys>
4. Redeploy the app (or wait for next deployment)
## File Structure
Generated apps follow this structure:
```text
app/
layout.tsx # Root layout with metadata
page.tsx # Main page component
globals.css # Global styles
api/ # API routes (proxy to Allium)
wallet/
balances/route.ts
pnl/route.ts
transactions/route.ts
components/
Holdings.tsx # Feature components
WalletInput.tsx
ChainSelector.tsx
...
package.json # Dependencies
tsconfig.json # TypeScript config
tailwind.config.js
next.config.js
```
## Tips
- **Theme**: `dark` works best for blockchain apps
- **Chains**: Include chains your users are most likely to use
- **Custom Dashboard**: Create queries in Allium Explorer first, then reference their IDs
- **Iteration**: Make multiple file changes before deploying to batch updates
SHA-256: a164b8e09e5eca3b4c5f707c15ee271be1a9f90e5d0980abe6775270b7b70e06