Upload CSV files to join your own data with Flipside’s blockchain data.
Uploading Files
# Upload a CSV file
flipside uploads upload wallets.csv
# Upload with a description
flipside uploads upload wallets.csv --description "VIP wallet addresses for analysis"
Using Uploads in SQL
Reference uploaded files using the ${upload:filename} syntax:
-- Join uploaded wallet labels with on-chain balances
SELECT
w.label,
w.address,
b.balance / 1e18 as eth_balance
FROM ${upload:wallets.csv} w
JOIN ethereum.core.fact_balances b
ON LOWER(w.address) = LOWER(b.address)
WHERE b.symbol = 'ETH'
Example: Wallet Labeling
1. Create a CSV with your wallet data:
address,label,category
0x1234...,Treasury,Internal
0x5678...,Marketing,Internal
0xabcd...,Partner A,Partner
2. Upload the file:
flipside uploads upload my_wallets.csv --description "Internal wallet labels"
3. Query with your labels:
SELECT
w.label,
w.category,
COUNT(*) as tx_count,
SUM(tx.value / 1e18) as total_eth
FROM ${upload:my_wallets.csv} w
JOIN ethereum.core.fact_transactions tx
ON LOWER(w.address) = LOWER(tx.from_address)
WHERE tx.block_timestamp >= CURRENT_DATE - 30
GROUP BY 1, 2
ORDER BY tx_count DESC
Managing Uploads
# List all uploaded files
flipside uploads list
# Get details for a specific upload
flipside uploads get wallets.csv
# Delete an upload
flipside uploads delete wallets.csv
Upload Commands
| Command | Description |
|---|
flipside uploads list | List all uploaded files |
flipside uploads get <filename> | Get upload details |
flipside uploads upload <file> | Upload a CSV file |
flipside uploads delete <filename> | Delete an upload |
Currently only CSV files are supported for uploads.
Using Uploads in Automations
Reference uploads in automation SQL steps:
steps:
- id: analyze_wallets
type: sql
sql: |
SELECT w.label, COUNT(*) as swaps
FROM ${upload:wallets.csv} w
JOIN ethereum.defi.ez_dex_swaps s
ON LOWER(w.address) = LOWER(s.origin_from_address)
GROUP BY 1