Solana On-Chain
Solana On-Chain
Solana blockchain data tables for DEX trade tracking, whale movement alerts, wallet management, and transaction history caching.
4 tables in this group.
dex_trades
Live DEX trade feed populated by the cat-piss solana_stream.py service via Solana WebSocket subscriptions.
| Column | Type | Nullable | Default |
|---|---|---|---|
id | uuid | No | gen_random_uuid() |
signature | text | No | |
dex | text | No | |
input_mint | text | No | |
output_mint | text | No | |
input_amount | numeric | Yes | |
output_amount | numeric | Yes | |
price_usd | numeric | Yes | |
trader_address | text | Yes | |
block_time | timestamptz | Yes | |
created_at | timestamptz | No | now() |
RLS Policies:
Service role can manage dex trades— ALL for {public}
Indexes:
idx_dex_trades_dexidx_dex_trades_signatureidx_dex_trades_block_timeidx_dex_trades_trader
Data Source: bitcain-solana-stream systemd service on cat-piss server. Detects trades from Jupiter, Orca, Raydium, Raydium CLMM, and Phoenix program logs.
whale_alerts
Whale movement alerts from both CEX monitoring (news scrapers) and on-chain Solana wallet tracking.
| Column | Type | Nullable | Default |
|---|---|---|---|
id | uuid | No | gen_random_uuid() |
source | text | Yes | |
asset | text | Yes | |
amount | numeric | Yes | |
usd_value | numeric | Yes | |
direction | text | Yes | |
exchange | text | Yes | |
interpretation | text | Yes | |
detected_at | timestamptz | Yes | |
created_at | timestamptz | No | now() |
collected_at | timestamptz | Yes |
Indexes:
idx_whale_alerts_typeidx_whale_alerts_addressidx_whale_alerts_created
Data Sources:
solana-stream(source=solana-stream) — On-chain Solana whale wallet monitoring- News scrapers (source varies) — CEX whale movement reports
solana_wallets
User-tracked Solana wallet addresses for portfolio monitoring.
| Column | Type | Nullable | Default |
|---|---|---|---|
id | uuid | No | gen_random_uuid() |
user_id | uuid | Yes | References auth.users(id) |
address | text | No | |
label | text | Yes | |
created_at | timestamptz | No | now() |
RLS Policies:
Users can manage their own wallets— ALL where auth.uid() = user_id
Indexes:
idx_solana_wallets_useridx_solana_wallets_address
solana_transactions
Cached parsed Solana transactions for faster repeat lookups.
| Column | Type | Nullable | Default |
|---|---|---|---|
id | uuid | No | gen_random_uuid() |
signature | text | No | UNIQUE |
wallet_address | text | No | |
parsed_type | text | Yes | |
parsed_data | jsonb | Yes | |
block_time | timestamptz | Yes | |
fee_lamports | bigint | Yes | |
created_at | timestamptz | No | now() |
RLS Policies:
Service role can manage solana transactions— ALL for {public}
Indexes:
idx_solana_tx_walletidx_solana_tx_typeidx_solana_tx_block_time