Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


# Forkline

Self-custody trading terminal for tokenized stocks on Robinhood Chain. Live at forkline.xyz

TypeScript React Node.js Chain License

Forkline lets you trade tokenized equities — NVDA-T, AAPL-T, TSLA-T, and more — on-chain via Robinhood Chain (chainId 4663). Every trade is dispatched to your own GitHub Actions executor. Your private key never touches Forkline servers.


How it works

Browser → forkline.xyz API → workflow_dispatch → your-fork/forkline-executor
                                                        ↓
                                          RialtoSettlementRouter (on-chain)
                                                        ↓
                                               Settled in USDG
  1. You place a trade on forkline.xyz
  2. Forkline API creates a trade record and dispatches workflow_dispatch to your executor repo
  3. GitHub Actions reads your PRIVATE_KEY from your own GitHub Secrets
  4. The executor signs and submits the swap to RialtoSettlementRouter on-chain
  5. Trade result (tx hash, status) is reported back to Forkline

Stack

Layer Technology
Frontend React 19, Vite, Wouter, TanStack Query
API Express 5, PostgreSQL, Drizzle ORM
Auth GitHub OAuth + EVM wallet (SIWE)
AI Claude Opus 4 — Pulse market insights (server-side, every 4h)
Chain Robinhood Chain (chainId 4663), USDG stablecoin
Validation Zod v4, drizzle-zod
Codegen Orval (OpenAPI → React Query + Zod)

Monorepo structure

forkline/
├── artifacts/
│   ├── forkline/          # React SPA (trading terminal frontend)
│   └── api-server/        # Express 5 API server
├── lib/
│   ├── db/                # Drizzle ORM schema + migrations
│   ├── api-spec/          # OpenAPI specification (source of truth)
│   ├── api-zod/           # Generated Zod validators
│   └── api-client-react/  # Generated TanStack Query hooks
└── github-actions-template/  # Executor template (users fork this)

Quick start

Prerequisites

  • Node.js ≥ 24
  • pnpm ≥ 9
  • PostgreSQL database

Environment variables

Variable Description
DATABASE_URL PostgreSQL connection string
GITHUB_CLIENT_ID GitHub OAuth App client ID
GITHUB_CLIENT_SECRET GitHub OAuth App client secret
SESSION_SECRET Express session secret (min 32 chars, random)
ANTHROPIC_API_KEY Anthropic API key (Pulse AI — Claude Opus 4)
FORKLINE_BOT_SECRET HMAC key for executor trade callbacks

Run locally

pnpm install

# Push DB schema
pnpm --filter @workspace/db run push

# Start API server (port 8080)
pnpm --filter @workspace/api-server run dev

# Start frontend (port auto-assigned)
pnpm --filter @workspace/forkline run dev

Other commands

# Full typecheck
pnpm run typecheck

# Regenerate API hooks from OpenAPI spec
pnpm --filter @workspace/api-spec run codegen

# Production build
pnpm run build

Smart contracts (Robinhood Chain · chainId 4663)

All contracts verified on Blockscout.

Contract Address
RialtoSettlementRouter 0xE23747d8c04b2101c873282C3d339D65d3d84ef0
RialtoV4StockSwapExecutor 0x36E90e3aCaddC1aad147dBF7a965F0290103717A
USDG (Global Dollar) 0x2CE3E396E069Ac9FA62046F423267072E06E77af
Uniswap V3 SwapRouter (fallback) 0xE592427A0AEce92De3Edee1F18E0157C05861564

Supported tokenized stocks

Ticker Name Contract
AAPL-T Apple 0xaF3D76f1834A1d425780943C99Ea8A608f8a93f9
AMD-T AMD 0x86923f96303D656E4aa86D9d42D1e57ad2023fdC
AMZN-T Amazon 0x12f190a9F9d7D37a250758b26824B97CE941bF54
COIN-T Coinbase 0x6330D8C3178a418788dF01a47479c0ce7CCF450b
GOOGL-T Alphabet 0x2e0847E8910a9732eB3fb1bb4b70a580ADAD4FE3
META-T Meta 0xc0D6457C16Cc70d6790Dd43521C899C87ce02f35
MSFT-T Microsoft 0xe93237C50D904957Cf27E7B1133b510C669c2e74
NFLX-T Netflix 0xE0444EF8BF4eD74f74FD73686e2ddF4C1c5591E8
NVDA-T NVIDIA 0xd0601CE157Db5bdC3162BbaC2a2C8aF5320D9EEC
TSLA-T Tesla 0x322F0929c4625eD5bAd873c95208D54E1c003b2d

All tokens are ERC-20 with 18 decimals. USDG uses 6 decimals.


Executor

The user-facing executor template lives at forkline-git/forkline-executor. Users fork it, add GitHub Secrets, and connect it from their Forkline portfolio page. Trade execution happens entirely within the user's own GitHub Actions environment.


License

MIT — see LICENSE.


About

Self-custody trading terminal for tokenized stocks on Robinhood Chain — forkline.xyz

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages