Compose
Open source · Pure C · Zero dependencies
Analytics and graphs.
One fast engine.
Rayforce fuses columnar analytics, graph traversal, and recursive queries into one embeddable execution pipeline—built for teams that measure latency in microseconds, not meetings.
; 100,000 deterministic market rows
(select {from: trades
where: (> qty 100)
by: symbol
trades: (count qty)
notional: (sum (* price qty))})
- Load100K rows
- Optimizerewrite DAG
- Filter60K match
- Group4 symbols
./rayforce -t 1
Run Rayforce live ↗
Join the community
One execution model
Stop moving data
between engines.
Relational operators and graph traversals belong in the same plan. Rayforce sees the whole workload, rewrites it together, and keeps the hot path close to the metal.
Explore the execution pipeline ↗Optimize
Rewrite the whole plan
Fuse
Remove intermediates
Execute
Stream cache-sized morsels
Rayfall language
Ask complex questions.
Keep the syntax small.
Use Rayfall interactively, embed the C API, or connect through a growing set of client interfaces. Every surface reaches the same optimizer and execution core.
; Aggregate high-value flow, then traverse counterparties
(set flow
(select {from: trades
where: (> Notional 1000000)
by: Counterparty
Volume: (sum Notional)}))
(.graph.var-expand network flow 1 3)
import rayforce as rf
trades = rf.read_csv("trades.csv")
flow = (trades
.where(rf.col("Notional") > 1_000_000)
.group_by("Counterparty")
.agg(rf.col("Notional").sum()))
network.expand(flow, min_depth=1, max_depth=3)
ray_t *trades = ray_read_csv("trades.csv");
ray_graph_t *g = ray_graph_new(trades);
ray_op_t *amount = ray_scan(g, "Notional");
ray_op_t *limit = ray_const_i64(g, 1000000);
ray_op_t *hot = ray_gt(g, amount, limit);
ray_t *result = ray_execute(g, ray_filter(g, trades, hot));
Built as one system
Small footprint.
Serious machinery.
Everything you need to move from raw columns to connected answers—without assembling a second platform around it.
Columnar analytics
Vectorized filters, joins, groups, windows, pivots, and time-series primitives.
Native graph engine
CSR traversal, shortest paths, centrality, communities, WCO joins, and HNSW.
Recursive Datalog
Express reachability and recursive relationships as rules compiled into the same DAG.
Storage that stays open
CSV, splayed and partitioned tables, memory maps, IPC, and block offloading.
In production now
Built for real work,
not synthetic demos.
Rayforce is already part of production systems at teams working with trading, market connectivity, investment analytics, and risk.
Production usage confirmed by the Rayforce project. Customer names link to their public company sites.
Infrastructure for fast-moving US equity markets.
Lynx Trading Technologies builds modular connectivity, routing, risk, compliance, and analytics systems for broker-dealers.
Quantitative tools for investment decisions.
Fortitudo Technologies develops investment management software for portfolio analytics, risk, and research workflows.
Rayforce Cloud Coming soon
The engine you can embed.
The platform you won’t have to operate.
We’re bringing Rayforce’s unified analytics and graph pipeline to a managed cloud experience—so teams can move from local prototype to production workload without rebuilding the data path.
Deployment
eu-westReadyOpen at the core
Read every line.
Own every workload.
One codebase. One public header. No external runtime. Clone Rayforce, compile it, embed it, and keep control of your data path.