gmfarcaster/SKILL.md
Answer questions about the GM Farcaster podcast archive (Farcaster, Base, and the wider crypto-social ecosystem) using the paid Warpee Knowledge API. Use this when the user asks what the GM Farcaster hosts or guests have said on a topic, wants an episode summary, asks about casts featured on the show, mentions of a person/project, or episode metadata (dates, hosts, guests). Each query is a paid x402 request (~$0.005 USDC on Base).
npx skillsauth add bankrbot/skills gmfarcasterInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This skill queries the Warpee Knowledge API — a citation-backed search over the entire GM Farcaster podcast library (hundreds of episodes, transcripts, and metadata). It returns a grounded answer plus timestamped links to the exact moment in an episode.
Each query is a paid, account-less request (~$0.005 USDC on Base via x402). The on-chain payment is the authorization — there are no API keys. Payment is signed locally with the operator's own funded wallet and is gasless for the signer (EIP-3009), so the wallet needs USDC on Base but no ETH.
The script enforces local payment pins: it only signs a payment when the API's 402 challenge matches Base mainnet, the canonical USDC contract, GM Farcaster's receiving wallet, and a max price (default $0.005). Any other challenge — wrong recipient, wrong token, wrong chain, higher price — is refused before anything is signed, and the script explains why. The server cannot raise what the script pays; only the operator can, via the env overrides below.
Use it for questions about the GM Farcaster show, for example:
Do not use it for general questions unrelated to the GM Farcaster archive. To
buy a sponsor read on the show instead of querying the archive, use the sibling
onair-shoutout skill.
The script needs two Python packages and a funded wallet key.
Install dependencies (once):
pip install -r scripts/requirements.txt
(Paths are relative to this skill's folder.)
Provide a wallet private key via the GMFARCASTER_PRIVATE_KEY environment
variable, or — preferably — put it in a file with chmod 600 permissions and
point GMFARCASTER_PRIVATE_KEY_FILE at it (keeps the key out of the process
environment and shell history). Use a dedicated, low-balance wallet funded
with a few dollars of USDC on Base — treat it like a hot wallet, never a
main wallet. The key is used only to sign the x402 payment for each query and
never leaves the machine.
Run the bundled script with the user's question as a single argument:
python scripts/query.py "What have the hosts said about prediction markets?"
The script prints the answer followed by a Sources: list. Relay the answer to the
user and cite the sources. If it prints an error about a missing key or insufficient
funds, tell the user to set GMFARCASTER_PRIVATE_KEY to a wallet holding USDC on Base.
Answers are live-generated, so a single query can take ~30 seconds, and up to ~3 minutes for complex questions — this is normal, not a hang. The script already uses a generous timeout and waits it out, so let it run; don't re-invoke it on a slow query, since each call is a separate on-chain payment and would charge again.
| Variable | Required | Default | Description |
|----------|----------|---------|-------------|
| GMFARCASTER_PRIVATE_KEY | Yes¹ | — | 0x-hex private key of a wallet holding USDC on Base. |
| GMFARCASTER_PRIVATE_KEY_FILE | No¹ | — | Path to a file containing the key (preferred over the env var). |
| GMFARCASTER_MAX_PRICE | No | 0.005 | Max USDC the script will pay per query. Challenges above this are refused. |
| GMFARCASTER_EXPECTED_PAYEE | No | GM Farcaster's wallet | Comma-separated allowlist of payment recipients. Challenges paying anyone else are refused. |
| GMFARCASTER_EXPECTED_ASSET | No | USDC on Base | Token contract the payment must use. |
| GMFARCASTER_ALLOW_CUSTOM_ENDPOINT | No | — | Must be 1 to pay a non-default GMFARCASTER_API_URL. |
| GMFARCASTER_API_URL | No | https://api.gmfarcaster.com/v1/query | Override the endpoint (requires the opt-in above). |
| GMFARCASTER_NETWORK | No | eip155:8453 | CAIP-2 network the payment is signed on. Must match a network the target API advertises in its 402 — the public API is Base mainnet, so leave this default. Only change it (e.g. eip155:84532, Base Sepolia) if you also set GMFARCASTER_API_URL to a testnet deployment; otherwise the payment won't match and the call fails. |
¹ Exactly one of GMFARCASTER_PRIVATE_KEY / GMFARCASTER_PRIVATE_KEY_FILE is
needed; the file wins if both are set.
gmfarcaster-mcp
MCP server are two independent ways to reach the same API — use whichever fits your
client. The MCP server is a live tool connection; this skill is a runnable script.GMFARCASTER_MAX_PRICE, the
script refuses and says so. Verify a price change is legitimate (via the docs
link below) and confirm with the user before raising the cap.development
Trust + memory layer for Bankr agents. Write a verifiable behavioral track record (decisions, hallucinations) for free, and check the risk/reputation of any agent or token before moving money — paid over x402 on Base.
tools
Cross-chain token swaps, quotes, portfolio and prices across 14 chains via the Suwappu DEX MCP server. Read-only by default; swap execution is opt-in and gated.
development
Build, inspect, configure, and safely transact with Juicebox V6 projects, terminals, rulesets, hooks, tiered NFTs, Revnets, Croptop, Bendystraw, and omnichain deployments. Use for Juicebox protocol questions, contract addresses or ABIs, project creation, payments, cash-outs, tokenomics, hooks, NFT tiers, cross-chain bridges, loan queries, transaction decoding, and Juicebox app/UI development on Ethereum, Optimism, Base, Arbitrum, or their Sepolia testnets.
tools
LP tokenized stocks onchain — range-LP Coinbase tokenized equities (NVDA, AAPL, GOOGL, META) and AERO/USDC on Aerodrome Slipstream (Base) for trading-fee + AERO emission yield. Use when the user wants to LP stocks or Aerodrome pools on Base, open/recenter/exit a Slipstream position, check pool status, NAV, or yields, get a portfolio overview ("how are my LP positions doing?") with P&L and projected APR, run a manage pass, or set up scheduled/price-triggered LP automations in the Bankr console. Auto-routes every position to the higher-yielding side — staked (AERO emissions) vs unstaked (trading fees) — at entry and re-checks on every manage pass. Bundled node scripts do the chain reads, gate checks, and calldata; writes go via the Bankr arbitrary-transaction flow. NOT for perps, spot trading, or Uniswap.