
GridPulse: U.S. Energy Data
io.github.noah-silverPublished by GitHub account noah-silverv1.0.1Updated Nov 10, 2026
U.S. grid mix, retail electricity prices and Henry Hub gas prices (EIA), paid per call via x402.
Overview
Pay-per-call U.S. energy market data for assistants: grid mix, retail electricity prices and Henry Hub gas, paid in USDC via x402.
- What you can do
- Retrieve hourly grid generation mix by region, with fuel breakdown and renewable share
- Look up retail electricity prices by state and sector, with year-over-year change and 12-month history
- Get Henry Hub natural gas spot price with 30-day stats and history
- Check and search x402 sellers by reliability score
- Inspect Algorand network health, accounts, assets and transactions, and cross-check crypto prices
- When to use it
- Useful when an assistant needs current U.S. electricity or natural gas market figures, or wants to vet x402 sellers before paying them, and you are willing to fund a small crypto wallet for per-call charges.
- Requirements
- Runs as a local stdio process (MCP bundle or npx from GitHub); Node.js needed for the npx route. Each call is paid in USDC on Base or Algorand, so a funded spending wallet is required, supplied via EVM_PRIVATE_KEY or ALGORAND_MNEMONIC. Network access to the hosted endpoint is needed; no signup or API key for buyers.
Installation
In SourceWeft
- Open GridPulse: U.S. Energy Data in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
⚡ GridPulse
Pay-per-call U.S. energy market data for AI agents. Agents pay per call in USDC on Algorand or Base using the x402 protocol. No signup and no API keys for buyers.
Live on Algorand MainNet: https://noahs-mac-mini.tail571e99.ts.net
Free: / (landing page), /llms.txt (docs for agents), /health.
Data source: U.S. Energy Information Administration (public domain).
Use it from your agent
Any x402 client works: call the endpoint, get 402 Payment Required, pay, retry. The @x402/fetch wrapper does all of this automatically.
- OpenAPI spec: https://noahs-mac-mini.tail571e99.ts.net/openapi.json
- Agent docs: https://noahs-mac-mini.tail571e99.ts.net/llms.txt
Pay with USDC on Base (npm i @x402/fetch @x402/evm viem):
Pay with USDC on Algorand: see src/pay.ts (uses @x402/avm).
MCP server (Claude Desktop, Claude Code, Cursor, …)
One-click (Claude Desktop): download gridpulse-mcp.mcpb, open it, and optionally enter a small spending wallet. Also listed in the official MCP Registry as io.github.noah-silver/gridpulse.
Or configure it manually:
Add GridPulse as tools (grid_mix, retail_electricity_price, henry_hub_gas_price). Each tool call pays from your own wallet via x402. Use a small, dedicated spending wallet, never your main one.
Use ALGORAND_MNEMONIC instead of (or as well as) EVM_PRIVATE_KEY to pay with USDC on Algorand.
Setup guide (Mac mini)
Run each command in Terminal on the Mac mini, one at a time.
1. Install Node.js
If brew isn't found, install Homebrew first from https://brew.sh.
2. Get the code and install
Copy this gridpulse folder onto the Mac mini (AirDrop works), then:
3. Fill in .env
- PAY_TO_ADDRESS: create a new account in Pera for receiving payments. Fund it with about 1 ALGO and opt it in to USDC (in Pera: Add Asset, then search USDC, asset ID 31566704). Paste its address here.
- EIA_API_KEY: free, instant, at https://www.eia.gov/opendata/register.php
- Leave
NETWORK=testnetfor now.
4. Run it
Open http://localhost:4021 to see the landing page. http://localhost:4021/v1/henry-hub should return 402 Payment Required, which means the paywall is working. Press Ctrl+C to stop.
5. Give it a public HTTPS address
Pick one:
Option A: Tailscale Funnel (free, easiest). You get a permanent URL like https://mac-mini.tail1234.ts.net.
Sign in, then run:
Option B: Cloudflare Tunnel with your own domain (about $10/yr, looks more professional). Buy a domain such as gridpulse.xyz in Cloudflare, then:
Put the resulting URL in .env as PUBLIC_URL.
6. Switch to MainNet and keep it running 24/7
In .env, set NETWORK=mainnet. Then:
(pm2 startup prints one more command to copy and run.) In System Settings → Energy, turn on "Prevent automatic sleeping" and "Start up automatically after a power failure."
7. Make the first real payment (required by the contest)
Create another new Pera account as the "buyer." Put about $1 of USDC and 0.3 ALGO in it. Add its 25-word phrase to .env as BUYER_MNEMONIC.
Never use the phrase of your main wallet.
Each settled payment lists that endpoint in the Bazaar and on the leaderboard.
8. Submit (by September 30)
- Push this folder to a public GitHub repo.
.envis git-ignored, so your secrets stay local. - Add the repo to Electric Capital open-dev-data.
- Fill in the submission form.
Technical notes
@x402/*packages are pinned to 2.17.0, and network IDs are hardcoded in the legacy format that the hosted GoPlausible facilitator currently expects (x402-foundation/x402#3528). Don't upgrade until the facilitator is updated.- The facilitator pays Algorand network fees. Buyers need only USDC.
- EIA responses are cached for 10 minutes.
- Invalid inputs return 400 and upstream failures return 502. Neither response is settled, so buyers aren't charged.
Source: README.md at commit 49285bf
Tools
0Version history
2- v1.0.1LatestSep 27, 2026
- v1.0.0Sep 27, 2026
Score
40% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts
Declare a license in the repository or the registry entry.

