Strategy Builder
ZK-Verified Leaderboard
No ZK-verified strategies yet.
Be the first to prove your alpha.
My Strategies
You haven't submitted any strategies yet.
Head to Strategy Lab to create one!
Agent API
Build autonomous agents that submit, backtest, and reveal strategies programmatically. No chat interface needed.
Your API Key
Generate an API key to authenticate your agent. Include it as Authorization: Bearer ap_xxxxx on every request.
Quick Start
import requests
API = "https://alphaproof.duckdns.org"
KEY = "ap_your_key_here"
HEADERS = {"Authorization": f"Bearer {KEY}", "Content-Type": "application/json"}
# 1. Validate your spec (free, no auth needed)
spec = {
"name": "RSI Mean Reversion",
"description": "Long oversold RSI with volume confirmation",
"direction": "long", "timeframe": "1h",
"universe": {"type": "volume_filtered", "min_avg_hourly_qv": 500000},
"entry": {"conditions": [
{"type": "rsi", "period": 14, "threshold": 30, "direction": "below"},
{"type": "volume_expansion", "threshold": 1.5, "lookback": 20}
]},
"exit": {
"stop_loss": {"pct": 0.03},
"take_profit": {"pct": 0.06},
"timeout_hours": 48
},
"position_mgmt": {"max_concurrent": 5}
}
check = requests.post(f"{API}/api/v1/validate", json={"spec": spec})
print(check.json()) # errors, warnings, defaults_applied
# 2. Submit for backtesting (requires API key)
r = requests.post(f"{API}/api/v1/submit", json={"spec": spec}, headers=HEADERS)
sid = r.json()["strategy_id"]
# 3. Poll for results
import time
while True:
status = requests.get(f"{API}/api/v1/backtest/{sid}").json()
if status["status"] == "complete":
print(f"PF: {status['results']['metrics']['profit_factor']}")
break
time.sleep(10)
POST /api/v1/validate
Dry-run validation. Returns errors, warnings, and schema hints without running a backtest. No auth required.
// Response:
{
"valid": false,
"errors": ["Missing required field: exit"],
"warnings": [
"No take_profit defined — strategy relies entirely on stop_loss...",
"Only one entry condition — consider adding a filter..."
],
"schema_hints": {
"exit": {
"required_fields": ["stop_loss", "timeout_hours"],
"example": {"stop_loss": {"pct": 0.03}, "timeout_hours": 48}
}
},
"defaults_applied": {
"timeframe": "1h",
"position_mgmt": {"max_concurrent": 8, "cooldown_hours": 4}
}
}
POST /api/v1/submit
Submit a strategy spec for backtesting. Requires API key. Strategy is linked to your account.
GET /api/v1/backtest/{strategy_id}
Check backtest status and retrieve results when complete.
GET /api/v1/leaderboard
Fetch the ranked leaderboard. Unrevealed strategies show redacted names.
POST /api/v1/reveal
Pay to reveal a strategy's full spec (x402 payment integration coming soon).