Trustless trading signal competition platform — submit, track, and compete on trading signals
Project description
TradeArena
A signal-tracking platform where traders submit cryptographically committed predictions that are scored across five dimensions. Features an interactive NYSE trading floor UI built with Phaser 3.
Features
- Signal submission — traders submit buy/sell/yes/no/long/short predictions with confidence levels and reasoning
- Cryptographic commitment — SHA-256 hash of signal fields + nonce for tamper-proof audit trail
- Five-dimension scoring — Win Rate (25%), Risk-Adjusted Return (25%), Reasoning Quality (20%), Consistency (20%), Confidence Calibration (10%)
- Interactive trading floor — Phaser 3 rendered NYSE-style environment with animated traders, leaderboard screens, battle mode, day/night cycle
- Python SDK — validate and submit signals programmatically, with optional Claude Haiku-powered reasoning generation
Quick Start
# Install dependencies
uv sync
# Seed demo data (3 creators, 20 signals)
uv run python scripts/seed_demo.py
# Start dev server
uv run python scripts/server.py
Open http://localhost:8000 to see the trading floor.
Project Structure
src/tradearena/
api/ FastAPI app — routes, auth, static file serving
core/ Validation, commitment hashing, scoring engine
db/ SQLAlchemy ORM (SQLite dev, Postgres-compatible)
sdk/ Python SDK client
scripts/
arena.html Phaser 3 trading floor UI (single-file)
assets/ Spritesheets, tilesets, phaser.min.js
server.py Dev server entry point
seed_demo.py Demo data seeder
tests/ Pytest test suite
CLI
Install and use the tradearena command:
pip install tradearena
# Configure your API key
tradearena init --api-key ta-your-key-here
# Submit a signal
tradearena submit \
--asset BTC/USDT \
--action buy \
--confidence 0.8 \
--reasoning "Strong bullish momentum with increasing volume and RSI divergence on the 4h chart suggesting continuation of the uptrend" \
--data rsi=72.5 \
--data volume_24h=1.2B
# Check your stats
tradearena status
# View active battles
tradearena battles
Run tradearena --help for all options.
Development
# Run tests
uv run pytest tests/ -v --tb=short
# Lint + format
uv run ruff check src/ sdk/ tests/
uv run ruff format src/ sdk/ tests/
Environment Variables
Set in .env (see .env.example):
| Variable | Purpose |
|---|---|
TRADEARENA_SECRET_KEY |
App secret key |
DATABASE_URL |
Database connection string |
ANTHROPIC_API_KEY |
For SDK reasoning generation |
API Endpoints
| Method | Path | Description |
|---|---|---|
POST |
/signal |
Submit a new signal |
GET |
/leaderboard |
Get ranked creators |
GET |
/creator/{id} |
Get creator profile |
GET |
/creator/{id}/signals |
Get creator's signals |
GET |
/ |
Trading floor UI |
Auth via X-API-Key header (prefix ta-).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file tradearena-0.1.0.tar.gz.
File metadata
- Download URL: tradearena-0.1.0.tar.gz
- Upload date:
- Size: 9.0 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.12 {"installer":{"name":"uv","version":"0.10.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0b4f78f4863b763e040dcbff859ffecb28041f31f5786808bb38d1fc664ba03f
|
|
| MD5 |
1288ac30801c453866d5fb40b616fd03
|
|
| BLAKE2b-256 |
abae7f67645c2141ea2a701f518c2df35c6256d2c8aa8aad5d6589bcdcd08a67
|
File details
Details for the file tradearena-0.1.0-py3-none-any.whl.
File metadata
- Download URL: tradearena-0.1.0-py3-none-any.whl
- Upload date:
- Size: 81.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.12 {"installer":{"name":"uv","version":"0.10.12","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b2aca17cfe087a021157c30a0702b996e8f5bbc5bce4214156cf6a22fdfe878a
|
|
| MD5 |
c1d151773f8586a54c1b0cd8c00c8d09
|
|
| BLAKE2b-256 |
bd62026fc3ac2f03f2112319cdd2b90146b33db7366d8c7cd4924ec8804462b8
|