Skip to content
Back to skills

Flovia

ASecurity

Live lookups through the Flovia MCP - Nansen smart money and token flows, CoinGecko markets, direct chain reads, Zerion wallets, Exa web search and Firecrawl page reads - on a free shared allowance. OAuth Connect or an flv_ key in the dashboard MCP panel.

  • 789 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 9, 2026
ai-agentsgonodeawsapi

Works with

  • cli
  • api
  • mcp

Security analysis

A100/100

Scanned November 9, 2026

npx -y skills add aeonfun/aeon --skill flovia --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Flovia?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Flovia
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/aeonfun-flovia/badge)](https://www.skillsdirectory.com/skills/aeonfun-flovia)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: flovia
description: Live lookups through the Flovia MCP - Nansen smart money and token flows, CoinGecko markets, direct chain reads, Zerion wallets, Exa web search and Firecrawl page reads - on a free shared allowance. OAuth Connect or an flv_ key in the dashboard MCP panel.
metadata:
  title: Flovia
  mode: read-only
  category: crypto
  var: ""
  tags:
    - crypto
    - onchain
    - research
    - mcp
  mcp:
    - flovia
  capabilities:
    - external_api
    - sends_notifications
---

# Flovia

> **${var}** - the lookup question, e.g. `is token 0x... on Base being accumulated by smart money` or `what does wallet 0x... hold across chains`. Empty = a short status report (free allowance, services, recent changes). Prefer plain language; don't name endpoints.

Answer one question with **live data** through the Flovia MCP (`api.flovia.dev/mcp`): Nansen smart money / holders / token flows / wallet profiles, CoinGecko prices and DEX pools, direct chain reads, Zerion wallets, Exa public web search and Firecrawl public-page reads, plus optional OpenAI text generation. Every metered call draws from the operator's free allowance (or purchased balance), so calls are deliberate.

## Detection & auth

The server is wired from the dashboard MCP panel: one-click **Connect** (OAuth) or an `flv_` API key pasted as `MCP_FLOVIA_TOKEN`. Its tools surface as `mcp__flovia__*` - discover them from the server; tool descriptions are the source of truth. Flovia is in alpha: call `flovia_status` first and read `recent_updates` - tools, limits and prices may have changed since this file was written.

- **No `mcp__flovia__*` tool callable** → the server isn't connected. Log `FLOVIA_NOT_CONNECTED`, notify once pointing the operator at the dashboard → MCP → Connect Flovia, and exit.
- **401 / invalid token** → the OAuth refresh failed (see `docs/mcp-oauth.md`) or the key was revoked. Log `FLOVIA_AUTH_STALE`, notify the operator to reconnect once, and exit.
- **A refusal reply** carries `explanation` (`by`, `code`, `executed`, `meaning`, `next_step`). Follow `next_step`; `FLOVIA_WINDOW_FULL` when a free window is exhausted (the reply says when it resets).

## Aeon runs (scheduled or dispatched)

An Aeon run has no user to talk to:

- **Ask nothing.** No consent question, no "pick a next step" prompt - `next_options` in a reply are listed in the notify as suggestions, never executed.
- **Read-only.** Flovia can prepare unsigned swaps and Hyperliquid actions; never call those tools. Read tools only (`flovia_nansen`, `flovia_coingecko`, `flovia_quicknode`, `flovia_zerion`, `flovia_exa`, `flovia_firecrawl`, `flovia_status`, `flovia_usage_today`, `flovia_lookup`, `flovia_services` list). `flovia_openai`/`flovia_minimax`/`flovia_fal`/`flovia_runway` are generation tools - off by default; use only if `${var}` explicitly asks.
- **Stable operation ids.** Pass one `operation_id` per question (`flovia-<date>-<short-slug>`). If a reply is lost or `executed` is `unknown`, resend with the **same** id - it is never charged twice. Never retry under a new id, and never auto-retry a pending/unknown result.
- **Never put secrets in lookups.** Request text and purposes are kept by Flovia for up to 2 years during the alpha, and Nansen lookups are shared with Nansen. Keep request text to public facts; no keys, seeds, credentials, or the operator's private info. This is the data-use terms the operator accepted when registering - mention it once in the notify when Nansen data is used.

## Steps

### 1. Plan

Start with `flovia_status` (allowance %, resets, service states, `recent_updates`). Then map `${var}` to sources:

- **Prices, market caps, charts, DEX pools** → `flovia_coingecko`
- **A public wallet's portfolio, positions, PnL, transactions** → `flovia_zerion`
- **A transaction's status/gas, a balance, a contract read, event logs** → `flovia_quicknode` (`chain: "list"` for the configured chains)
- **Smart money, holders, token flows, wallet labels** → `flovia_endpoints` to pick the Nansen endpoint, then `flovia_nansen`
- **Public web research / cited sources** → `flovia_exa`; **one public page or PDF** → `flovia_firecrawl`

**Spend discipline:** CoinGecko, Quicknode, Firecrawl and Zerion are flat-rate (separate daily limits, don't touch the free allowance). Nansen, Exa, context.dev and generation are metered at a much higher cost. Prefer flat-rate sources; use Nansen only when the question needs smart-money data - at most 2 Nansen calls per run, ≤ 8 tool calls total. When a free window is past 75%, stop at the flat-rate answer and say so.

### 2. Fetch

Run the planned calls, one question at a time. For a repeated check (`${var}` like `watch: <question>`), compare against the previous run at `output/.chains/flovia.md` and report what changed. Reopening an earlier answer via `flovia_lookup` is free - use it instead of re-asking.

### 3. Answer

Trace every figure to a tool response; cite source URLs for Exa results. Distinguish observed fact from inference; keep units, dates and gaps.

### 4. Notify

Deliver via `./notify -f <file>`: the answer, the evidence, allowance state if a window crossed 75%, and `next_options` as text suggestions. Exactly one `./notify` call per run - it overwrites `$AEON_PENDING_DIR/.pending-flovia.md` which becomes the chain artifact `output/.chains/flovia.md`.

### 5. Result record

This skill is `read-only`, so the workflow's read-only guard writes its `### flovia` log entry from your captured output; a self-written entry would be a duplicate. Put this record in your **final output**:

```
### flovia
- Query: <${var}, truncated>
- Result: FLOVIA_OK | FLOVIA_EMPTY_VAR | FLOVIA_NOT_CONNECTED | FLOVIA_AUTH_STALE | FLOVIA_WINDOW_FULL | FLOVIA_ERROR
- Sources: <tool names used> | Calls: <N>/<budget>
```

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

View all in ai-agents →

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.