Pull AIXBT's free-tier signal and fold it into the operator's market context. Free tier gives three endpoints, no key, no account:
Everything else on AIXBT is paid ($10/day via x402). This skill maxes out the free surface.
All three endpoints are unauthenticated. Plain curl from the sandbox should work. If any curl returns empty or errors, fall back to WebFetch on the same URL — WebFetch bypasses the sandbox and the free endpoints don't need auth headers.
-
Fetch grounding. This is the freshest cross-domain context AIXBT ships.
curl -s "https://api.aixbt.tech/v2/grounding" > /tmp/aixbt-grounding.json
If curl fails or the file is empty/non-JSON, use WebFetch on https://api.aixbt.tech/v2/grounding and extract the JSON payload.
Expected shape:
{
"status": 200,
"data": {
"createdAt": "2026-04-21T19:00:31Z",
"windowHours": 12,
"sections": {
"crypto": { "title": "Crypto", "items": ["...", "...", "..."], "generatedAt": "..." },
"macro": { "title": "Global Liquidity", "items": ["...", "...", "..."], "generatedAt": "..." },
"geopolitics": { "title": "Geopolitics", "items": ["...", "...", "..."], "generatedAt": "..." },
"tradfi": { "title": "TradFi", "items": ["...", "...", "..."], "generatedAt": "..." }
}
}
}
-
Fetch clusters + chains (reference data, light refresh). Only overwrite local copies if the remote response is well-formed.
curl -s "https://api.aixbt.tech/v2/clusters" > /tmp/aixbt-clusters.json
curl -s "https://api.aixbt.tech/v2/projects/chains" > /tmp/aixbt-chains.json
Same WebFetch fallback if either fails.
-
Diff against the last grounding pull. Read the prior memory/topics/aixbt-grounding.md (if present) and compute:
- NEW — items in today's feed that are not substantively in the prior snapshot (treat paraphrases as the same item).
- GONE — items from the prior snapshot that dropped out (means attention moved).
- PERSISTING — items surviving across both windows (these are the durable stories).
If no prior file exists, treat everything as NEW.
-
Identify reflexivity + cross-domain bridges. AIXBT splits crypto / macro / geo / tradfi — but the signal is in the bridges. Flag:
- Items where a macro or geopolitics event is showing up as a crypto price driver (or vice versa).
- Narratives that are manufacturing their own reality — prediction markets pricing an outcome that then makes the outcome more likely, projects pivoting to match a narrative, VCs signaling to legitimize a thesis.
- Liquidity regime shifts (TGA, Fed balance sheet, bond yields) that will transmit to risk assets.
If soul/ files are populated, apply that voice for the bridge call — opinionated, short, call out copium and manufactured legitimacy. If soul is empty, keep the tone terse and direct.
-
Write memory/topics/aixbt-grounding.md (overwrite fully — this is the consumable artifact other skills will read):
# AIXBT Grounding (as of ${today} ${HH:MM} UTC)
Source: https://api.aixbt.tech/v2/grounding (free tier)
Window: 12h rolling. Last AIXBT generatedAt: ${createdAt}
## Crypto
- <item 1>
- <item 2>
- <item 3>
## Global Liquidity / Macro
- <item 1>
- <item 2>
- <item 3>
## Geopolitics
- <item 1>
- <item 2>
- <item 3>
## TradFi
- <item 1>
- <item 2>
- <item 3>
## What's New (vs last pull)
- <NEW item + which section>
## Persisting Stories
- <items that survived across windows>
## Cross-Domain Bridges
- <reflexivity / macro → crypto / narrative-manufacturing calls, in the operator's voice>
-
Write memory/topics/aixbt-clusters.md (overwrite fully — reference taxonomy for other skills once they go paid tier):
# AIXBT Clusters (as of ${today})
46 sub-community clusters AIXBT tracks. Each cluster has a description, member archetype, sentiment, and ideology. Used when filtering projects/intel/momentum endpoints (paid tier).
| id | name | one-line vibe |
|----|------|---------------|
| <id> | <name> | <compressed one-line from description> |
...
One row per cluster, descriptions compressed to ~15 words so the file stays skimmable.
-
Write memory/topics/aixbt-chains.md (overwrite fully — just the slug list, plus a pointer):
# AIXBT Indexed Chains (as of ${today})
~150 chain slugs AIXBT indexes. Use as the canonical list when filtering by chain on paid endpoints.
<comma-separated slug list>
-
Write .outputs/aixbt-pulse.md so chain consumers (priority-brief, narrative-tracker, market-context) can inject this into their context via consume:. Same body as memory/topics/aixbt-grounding.md but prefixed with a one-paragraph TL;DR.
-
Notify via ./notify. Keep the notification under 2000 chars and pick the sharpest item per section — don't dump all three. The artifact file has the full payload.
*AIXBT Pulse — ${today} ${HH:MM}Z*
CRYPTO
- <sharpest crypto item>
- <second crypto item>
MACRO
- <sharpest macro item>
GEO
- <sharpest geo item>
TRADFI
- <sharpest tradfi item>
NEW THIS PULL
- <1-3 items flagged NEW, tersest form>
BRIDGE
- <the single most interesting cross-domain thread, in the operator's voice>
-
Log to memory/logs/${today}.md:
## AIXBT Pulse
- createdAt: ${createdAt}, windowHours: 12
- NEW items: <count>
- Bridge call: <one-liner>
- Updated: memory/topics/aixbt-grounding.md, aixbt-clusters.md, aixbt-chains.md, .outputs/aixbt-pulse.md
If the endpoint was unreachable via both curl and WebFetch, log AIXBT_PULSE_DEGRADED — endpoint unreachable and file/bump an issue in memory/issues/ following the CLAUDE.md issue tracker convention. Do not notify on a degraded run unless it's the second degraded run in a row.