| name | onair-shoutout |
| description | Submit a sponsor message to be read live on air on the GM Farcaster show, via the paid On-Air Shoutout API. Use this when the user wants to buy/book/submit a sponsor read, shoutout, or live ad on GM Farcaster. This is asynchronous and human-in-the-loop — it pays $5 USDC (x402 on Base) and returns a receipt (request_id + status pending_review), NOT a confirmed read; GM Farcaster may decline and refund. Also use it to check the status of a previously submitted shoutout. |
On-Air Shoutout Skill
This skill submits a sponsor read to the On-Air Shoutout API — pay to have a
short message read live on air on the GM Farcaster show. It pays the API's
x402 toll and returns a receipt.
Read this carefully — it is not a normal API. The call is asynchronous and
human-in-the-loop:
- You pay and get a receipt (
request_id + status: "pending_review"), not
a confirmed read. The read happens later, live on the show.
- GM Farcaster retains editorial control and may decline a submission. A
declined request is refunded to the verified on-chain payer (or to an
optional
refund_to_wallet).
- Track progress by checking status with the
request_id — do not
re-submit, since each submission is a separate $5 payment.
Each submission is a paid, account-less request ($5 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 $5). 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. Submitting also requires an
explicit flag — without it the script prints a preview and pays nothing.