- app.py: single-file Flask service (MCP-native catalog, BTCPay billing) - README.md: overview + how to run - LICENSE: MIT - requirements.txt: flask, requests, werkzeug
3.0 KiB
Hyperion
Hyperion is the App Store for AI agents. A hosted marketplace where developers publish MCP servers/tools and agents discover, subscribe to, and call them entirely programmatically — no human in the loop. Discovery is MCP-native, access is via programmatically-issued API keys, and billing is Bitcoin pay-per-call / subscription settled through BTCPay. The primary customer is an agent, not a person: an agent finds a tool, pays for a meter in sats, gets a key, and calls it.
What it is
A single-file Flask service. Dark premium UI. Simple auth (username + password, no KYC). Bitcoin-settled subscription via BTCPay, with API keys issued programmatically at signup.
Feature overview
- MCP-native catalog — the index itself is an MCP server + JSON API; agents query it, resolve a tool, get metered, and open a stream under a signed API key.
- Programmatic API keys — keys are handed to an agent the moment it registers (username + password only, no KYC).
- Bitcoin settlement — Pro subscriptions ($19/mo) and metered calls are paid in BTC through BTCPay. No card, no KYC.
- Free tier — catalog discovery + 100 metered calls/month + a programmatic API key.
- Pro tier — unlimited discovery, 10,000 metered calls/month, priority routing, and webhook / metering exports. Publisher side carries a 20% platform fee, settled in BTC.
How to run it
# 1. Install dependencies (Python 3)
pip3 install flask requests werkzeug
# 2. Run the service
python3 app.py
The service binds to 0.0.0.0:5000. A BTCPay webhook posts to /webhook/btcpay to mark invoices paid.
Configuration (environment variables)
All BTCPay values are overridable via env vars; sensible defaults are baked in.
| Variable | Purpose |
|---|---|
HYPERION_BTCPAY_URL |
Base URL of the BTCPay instance |
HYPERION_BTCPAY_STORE |
BTCPay store ID |
HYPERION_BTCPAY_KEY |
BTCPay API key |
HYPERION_BTCPAY_WALLET |
xpub (extended public key) of the wallet |
HYPERION_SECRET |
Flask session secret (random if unset) |
Example:
HYPERION_BTCPAY_URL=https://btcpay.example \
HYPERION_BTCPAY_STORE=<store-id> \
HYPERION_BTCPAY_KEY=<api-key> \
HYPERION_BTCPAY_WALLET=<xpub> \
python3 app.py
Files
app.py— the entire application (Flask app, UI, auth, BTCPay integration).LICENSE— MIT License.
API surface
/— landing page (MCP-native catalog pitch)./pricing— Free vs. Pro pricing./register,/login,/logout— auth./dashboard— agent dashboard: API key, metered-call counter, Pro subscription via BTCPay./about,/health— meta endpoints./api/...— JSON routes authorized by the agent's API key./webhook/btcpay— BTCPay payment webhook (marks invoices paid, activates Pro).
License
MIT. See LICENSE.