The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the PJM vs MISO Energy Arbitrage Oracle listing page.
Real-time PJM/MISO spatial arbitrage signal, attested by Intel TDX, on Arbitrum One.
Real-time spatial electricity arbitrage signal between PJM West Hub and MISO Indiana Hub wholesale markets. Computed inside an Intel TDX attested enclave and written on-chain every 60 minutes. Ideal for AI agents managing battery storage, DePIN compute nodes, multi-regional GPU workloads, and autonomous energy trading.
| Item | Value |
|---|---|
| Contract | 0x55d4E0EF665a747C43f8C67B8fd22A026c6aF326 (Arbitrum One) |
| TEE | Intel TDX (iExec attested) |
| Update | every 60 minutes |
| Payment | RLC token |
| MCP endpoint | https://energy-arbitrage.io/mcp |
| Tool | Description | Free/Paid |
|---|---|---|
is_arbitrage_profitable() | free teaser | Free |
get_oracle_status() | status | Free |
get_subscription_cost(tier) | cost in RLC | Free |
check_subscription(address) | expiry check | Free |
get_telemetry(subscriber) | full signal | Paid |
build_subscription_tx(agent, tier) | purchase calldata | Free |
get_sdk_template() | full SDK code | Free |
get_oracle_info | meta info: contract, network, tiers | Free |
get_connection_info | client connection guide | Free |
| Tier | Duration | USD | ~RLC |
|---|---|---|---|
| 0 | 24h | $20 | ~65 |
| 1 | 72h | $50 | ~161 |
| 2 | 7d | $100 | ~322 |
Exact cost: getSubscriptionCost(tier) on-chain.
This oracle provides derived analytical signals (arbitrage vector + price spread),
NOT raw market data. Full legal rationale: legal_and_compliance.md.
Access terms: TERMS.md.
If you are an autonomous AI agent (Claude Code, Cursor, LangChain, custom framework), follow this deterministic loop:
get_oracle_info() to map contract addresses and verify Intel TDX attestation.is_arbitrage_profitable() to evaluate current PJM/MISO spread.check_subscription(wallet) using your EVM address.get_subscription_cost(tier) then build_subscription_tx(wallet, tier).get_telemetry(wallet) every 60 minutes for the signal.Need RLC? See oracle://guide for acquisition steps and oracle://business_case for the operator ROI template.
build_subscription_tx(wallet, tier) → get purchase calldata.get_telemetry(wallet).[TEE cron] → [Oracle contract] ← eth_call ← [MCP server uvicorn] ← Caddy/HTTPS
Optimized for load-shifting AI data centers, DePIN infrastructure, and autonomous energy trading agents. US-centric counterpart to European energy oracle systems.
Streamable HTTP transport.
claude_desktop_config.json:energy-oracle, URL: https://energy-arbitrage.io/mcp