Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tradearena-0.1.0.tar.gz (9.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tradearena-0.1.0-py3-none-any.whl (81.5 kB view details)

Uploaded Python 3

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

Hashes for tradearena-0.1.0.tar.gz
Algorithm Hash digest
SHA256 0b4f78f4863b763e040dcbff859ffecb28041f31f5786808bb38d1fc664ba03f
MD5 1288ac30801c453866d5fb40b616fd03
BLAKE2b-256 abae7f67645c2141ea2a701f518c2df35c6256d2c8aa8aad5d6589bcdcd08a67

See more details on using hashes here.

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

Hashes for tradearena-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b2aca17cfe087a021157c30a0702b996e8f5bbc5bce4214156cf6a22fdfe878a
MD5 c1d151773f8586a54c1b0cd8c00c8d09
BLAKE2b-256 bd62026fc3ac2f03f2112319cdd2b90146b33db7366d8c7cd4924ec8804462b8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page