ENGINE 0.1 / TECHNICAL NOTES

A run you can
take apart.

The PoseiTrader Research Lab is a working, independent historical-data backtesting application. Its JavaScript engine runs in a browser worker. A server-side market-data adapter loads real completed candles; every run produces an event log, trade ledger, and exportable report.

The architectural inspiration is NautilusTrader: explicit data, strategy, risk, and execution stages. This MVP is our own smaller implementation—not the Nautilus engine, its Rust runtime, or a claim of institutional execution speed.

$POSEI pre-launch direction

$POSEI is coming soon. No official contract address or token-page link is available yet. The proposed token-access roadmap covers expanded multi-token comparisons, saved research workspaces, and higher watchlist/alert limits. Benefits, holder thresholds, chain, contract address, and launch details have not been finalized or announced. No sale or holder-access entitlement is active. The research tools currently available remain usable without holding a token.

The pons radar now brings verified launch metadata and supported pool history into the research lab. This integration is open without a token. It is not a $POSEI holder entitlement, and it does not imply a pons or Robinhood partnership. See the pre-launch vision →

The command center

Three configurable research playbooks—Balanced trend, Fast momentum, and Patient position—load signal windows, allocation, and risk limits in one click. These are starting configurations, not optimized strategies or performance recommendations. Selecting a preset preserves your capital, fee, and slippage inputs. The market strip switches historical datasets; homepage launch links can carry both a market and a playbook into the lab.

Candlestick charts show real OHLC data with gold fast and blue slow moving averages. Dense datasets are aggregated for display only, preserving each visual bucket's first open, highest high, lowest low, last close, and total volume; the engine and exports retain all original bars. The crosshair inspects individual underlying bars. Keyboard users can focus the chart and use arrow keys, Home, End, or Escape. B/S markers show the most recent 200 visible simulated fills.

The event replay scrubber reveals a completed backtest bar by bar. Play, pause, speed selection, and jump-to-end controls update the visible chart, cash/position state, equity readout, and event log. Frames come directly from the engine's recorded end-of-bar snapshots, not invented animation values. The axis range and headline last-close quote use the complete loaded dataset; full-run result metrics remain fixed and are labeled separately. Replay is a research visualization, not a live feed or order execution.

The event model

Historical OHLCV → BAR event
  → Previous-close strategy decision → SIGNAL / ORDER
  → Next available bar open → Simulated FILL
  → Stop-loss / drawdown checks → RISK
  → Mark-to-market equity → Trade ledger + JSON report

Market data & CSV

The server queries the Coinbase Exchange historical candle endpoint for BTC, ETH, SOL, or DOGE against USD. The lab excludes the current unfinished candle. Available windows are one day at 5 minutes, seven days hourly, 30 days at six hours, and 180 days daily. Empty intervals may be absent from the provider. This is Coinbase data, not Robinhood data.

If the provider fails, the lab displays an error. It never substitutes generated prices. The explicitly selected saved sample is a real, dated Coinbase snapshot with provenance in its metadata.

timestamp,open,high,low,close,volume
2025-01-01T00:00:00Z,100,103,99,102,1200
2025-01-02T00:00:00Z,102,104,100,103,1400
2025-01-03T00:00:00Z,103,105,101,104,1100

Import requires ascending, unique timestamps and consistent positive OHLC prices; volume must be nonnegative. UTC dates, timezone-qualified ISO strings, Unix seconds, and Unix milliseconds are supported. Limits: 20,000 bars and 10 MB. Imported files remain in browser memory and are never uploaded. The default moving-average strategy needs at least 22 bars.

pons radar · live beta

Real onchain contract reads and provider-indexed history are connected. V1: supported pool candles in USD, strategy backtests, and replay. V2: verified launch metadata and phase snapshots; curve/V4 historical replay is not included. No wallet or token purchase is required.

The radar reads the documented pons V1 factories and current V2 factory on Robinhood Chain (chain ID 4663). A bounded recent-block scan supplies the launch list; the documented PONS reference token is included separately. This is not a full launch archive or a popularity ranking. Unavailable scan chunks and omitted metadata reads are disclosed; older supported launches can be inspected by contract address. Names and symbols are display labels, never identity.

Each launch is verified against its factory at a pinned block. The snapshot includes its canonical pool or curve, paired asset, decimals, fee, and lifecycle state. V1 spot prices come from pool state; V2 curve snapshots use reserve state. These marginal prices use the actual pairing asset, not USD, and exclude fees and price impact. A V2 token that has graduated to V4 is metadata-only in this release. A listed contract or graduated state is not an endorsement.

For verified V1 pools, the server requests GeckoTerminal’s public indexed-swap OHLCV for the exact launch-token address and canonical pool on the robinhood network. The price and volume currency is explicitly requested as USD. These are the provider’s historical USD values, not a present-day ETH conversion and not Robinhood brokerage data. See the pool OHLCV parameter reference.

GET /api/pons?action=list
# Recent verified launches plus the documented reference token.

GET /api/pons?action=token&address=0x39dBED3a2bd333467115dE45665cC57F813C4571
# Factory-verified contract snapshot, not a ticker search.

GET /api/pons?action=history&address=0x39dBED3a2bd333467115dE45665cC57F813C4571&window=7d
# Verified V1 pool + completed provider-indexed USD candles.

Saved radar pins are local browser preferences, not a holder-access system. The integration sends read requests only; it has no wallet signing, token approvals, or swap submission. The existing Robinhood Crypto adapter below is a separate account-based API. PONS is the pons reference token, not $POSEI. $POSEI remains unlaunched and its proposed holder benefits remain planned. Explore the independent pons launchpad ↗

Reproducibility

The full report includes the exact bars, provider metadata, normalized configuration, engine version, equity and benchmark series, trades, and all sequenced events. The run ID is a SHA-256 digest of the canonical JSON containing engine version, bars, and configuration. Fetch/import times do not affect that ID. Identical inputs and engine versions produce identical results; no randomness is used.

Data CSV and trade CSV downloads are available independently. The page previews the first 100 trades and last 100 events; the JSON contains everything. Changing data or configuration clears stale results. Calculations use IEEE-754 floating-point numbers, not a fixed-decimal accounting engine.

Robinhood Crypto adapter

Implemented: server-side signed, read-only quote and trading-pair requests. Not implemented: live order placement, account onboarding, equities execution, or a public brokerage login. Configuration status alone does not verify credentials.

The connector follows the official Robinhood Crypto Trading API. It signs the documented API-key + timestamp + path + method + body string with Ed25519 and uses v2 endpoints. See Robinhood's access instructions for eligibility and key setup. No private credential belongs in this site's public files or a chat.

  1. Create an API credential with the minimum read permissions needed for quotes and trading pairs.
  2. In the Vercel project's server environment settings, add ROBINHOOD_API_KEY, ROBINHOOD_PRIVATE_KEY_BASE64 (32-byte Ed25519 seed, base64), and a separate high-entropy POSEI_ADMIN_TOKEN. Redeploy after changing environment variables.
  3. In the lab's owner tools, enter only the PoseiTrader access token. The input is cleared after submission and not persisted. The server receives it as a bearer header. The Robinhood key and seed stay server-side.
  4. Use “Check quote” to verify an authenticated, read-only request. The selected symbol controls the quote check. A successful response shows only symbol, bid, ask, and receipt time—not account holdings or personal details.
GET /api/robinhood?action=status
# Public configuration status; never claims authentication.

GET /api/robinhood?action=quote&symbol=BTC-USD
Authorization: Bearer <POSEI_ADMIN_TOKEN>

GET /api/robinhood?action=products&symbol=BTC-USD
Authorization: Bearer <POSEI_ADMIN_TOKEN>
# GET only. Order submission does not exist in this adapter.

The owner token is a single-owner MVP access mechanism, not a multi-user brokerage authorization service. The application does not assert Robinhood endorsement or partnership. Partner-specific requirements can be incorporated separately once supplied.

What this release actually ships

Two strategy rules, deterministic historical replay, explicit costs and risk rules, Coinbase historical data, the pons radar with verified V1 pool history and V2 contract snapshots, local CSV import, three charts, reproducible exports, and a credential-gated read-only Robinhood Crypto connector. No deposits, live-money trades, performance guarantees, or synthetic results presented as historical.

Open the working research lab →