Skip to main content

Quickstart

Get up and running with SignalNet in under 10 minutes.

Prerequisites

  • Python 3.9+ (recommended) or any language that can produce CSV
  • A crypto wallet (MetaMask, Coinbase Wallet, etc.)
  • An email address

1. Create an Account

  1. Go to signalnet-app.vercel.app
  2. Click Launch App
  3. Sign up with your email + connect wallet
  4. Set your display name

2. Install the Python SDK

pip install signalnet-sdk

3. Download Feature Data

from signalnet import Tournament

# Initialize with your API key
t = Tournament(api_key="your_api_key_here")

# Get current round info
round_info = t.current_round()
print(f"Round #{round_info.id} — Deadline: {round_info.close_time}")

# Download features
features = t.get_features()
print(f"Shape: {features.shape}") # (503, 98) — 503 stocks, 98 features

4. Build Your Model

Use any approach — the encrypted features are yours to model however you want:

import pandas as pd
from sklearn.ensemble import GradientBoostingRegressor

# Simple example — your real model will be more sophisticated
model = GradientBoostingRegressor(n_estimators=100)
model.fit(X_train, y_train)

# Generate predictions (0.0 = most bearish, 1.0 = most bullish)
predictions = model.predict(features)

# Normalize to 0-1 range
predictions = (predictions - predictions.min()) / (predictions.max() - predictions.min())

5. Submit Predictions

# Create submission DataFrame
submission = pd.DataFrame({
'ticker': features.index,
'prediction': predictions
})

# Submit to the current round
result = t.submit(submission, stake=500) # Stake 500 SIGNAL tokens

print(f"Submitted! Signal hash: {result.signal_hash}")
print(f"Staked: {result.stake} SIGNAL")

6. Track Your Performance

# Check your score history
history = t.score_history()
for round in history:
print(f"Round #{round.id}: IC={round.ic:.4f}, Rank=#{round.rank}")

Or visit the Performance Dashboard to see charts and analytics.

Next Steps