urchenv0.15.6market making
URCHEN · MARKET-MAKING PLATFORM · v0.15.6 LIVE

Market making, modeled to the cascade.

Urchen is a production-grade market-making platform where risk, margin, and multi-step cascade contagion are built into every strategy — not bolted on after the fact. Strategies see portfolio default probability, margin ratio, and contagion score as features. The system reacts before the book does.

20Venues · CEX · DEX · RFQ
10Strategies · 24+ features
4M/secQuestDB tick store
§ 01 · STACKEND-TO-END PIPELINE

A single pipeline from tick to order.

FEEDS → STORE → ENGINES
→ STRATEGIES → EXECUTION
5 STAGES
01 · INGEST Feeds

20 native exchange adapters — WebSocket + REST + RFQ. Sub-second L2 books, trades, funding.

WebSocketFIX 4.4RFQ
02 · STORE Tick Store

QuestDB native: 4M rows/sec ingestion, ASOF JOIN, top-10 L2 levels, partitioned by day.

QuestDBASOFSAMPLE BY
03 · MODEL Engines

Risk · Margin · Cascade. Real-time portfolio-level features the strategies consume directly.

RiskMarginCascade
04 · DECIDE Strategies

10 production templates + custom expression DSL. 24+ features, 6 price constructors, 10 actions.

DSLSDK · PySDK · Rust
05 · ACT Execution

Order routing, self-trade prevention, FIX-engine session management, SIM/LIVE per gateway.

STPAeron IPCSIM/LIVE
§ 02 · ENGINESRISK · MARGIN · CASCADE

The engines other platforms don't ship.

3 ENGINES
FEATURES IN-STRATEGY
NOT BOLTED ON
§ 01 · RISK ENGINE Online

Risk

Default Probability · Stress · Vol

Monte Carlo default probability across collateral shocks (±40%). Merton jump-diffusion for tail risk. GARCH(1,1) for live vol. Outputs surfaced into strategies as portfolio_default_probability, stress_loss.

PD · Portfolio0.04
Stress LossUSD 84K
Vol · GARCH0.62
Jump · λ0.08 / d
OUTPUT · RiskResultRUST CRATE
§ 02 · MARGIN ENGINE Online

Margin

Margin Ladder · LCR · Call Detection

Computes margin requirement across −50% → +20% shocks in 5% rungs. Flags margin-call trigger point. Liquidity Coverage Ratio (liquid_assets / 30d net outflows). Strategy reads margin_ratio live.

Ratio0.18
LCR · 30d1.42
Call · Trigger−25%
SurplusUSD 1.2M
OUTPUT · MarginLadder15 RUNGS
§ 03 · CASCADE ENGINE Modeling

Cascade

Multi-step contagion · price impact

Simulates contagion step-by-step: shock → forced liquidation → liquidity impact → secondary defaults. Returns contagion_score for the strategy to gate on.

OUTPUT · CascadeResult10 STEPS MAX
§ 03 · STRATEGIES10 PRODUCTION TEMPLATES

Strategies named, tested, live.

10 TEMPLATES
24+ FEATURES
EXPRESSION DSL
CM
conservative_mm
Pure spread capture · risk-gated entry · spread_quantile
RISKVERY LOW
AS
adaptive_spread_mm
Spread quantile + book depth · depth_ratio
RISKLOW
RA
risk_aware_market_maker
Entry gated on portfolio_default_probability
RISKLOW
IS
imbalance_scalper
Book-imbalance alpha · short-horizon mean reversion
RISKLOW
CV
cross_venue_mm
Cross-exchange NBBO arbitrage · 20-venue routing
RISKLOW–MED
OF
ofi_alpha_mm
OFI linear forecast · B212 model · ofi_multi_lag
RISKMEDIUM
DF
depth_fade_mm
Mean-revert wide spreads · depth-weighted
RISKMEDIUM
MR
mean_reversion
Depth-ratio fade · adaptive spread
RISKMEDIUM
B2
b212_market_maker
OFI coefficient model · cascade-gated · contagion_score
RISKMED–HIGH
MB
momentum_breakout
Strong directional + risk gates · margin_ratio
RISKMED–HIGH

Or write your own, no recompile.

Custom features via expression DSL — "alpha": "abs(ofi_multi_lag)*0.42 + book_imbalance*0.15" — registered live via POST /api/v1/plugins/features.

Read the SDK
§ 04 · VENUES20 NATIVE ADAPTERS

Twenty venues, one abstraction.

CEX · DEX · RFQ
SPOT · FUTURES · PERP
WEBSOCKET + FIX
01BinanceTier-1 · Spot · Futures
02CoinbaseTier-1 · Spot
03KrakenTier-1 · Spot · Futures
04OKXTier-1 · Perp · Options
05BybitTier-1 · Perp
06BitgetSpot · Perp
07KuCoinSpot · Futures
08Gate.ioSpot · Perp
09HTXSpot · Futures
10BitfinexSpot · Margin
11GeminiSpot
12BitMEXPerp · Options
13DeribitOptions · Futures
14dYdXDEX · Perp
15BitstampSpot
16MEXCSpot · Futures
17Crypto.comSpot · Derivatives
18GalaxyRFQ · OTC Desk
19Jane StreetRFQ · OTC Desk
20WintermuteRFQ · OTC Desk
§ 05 · SPECSHARD NUMBERS

Performance, by the metric.

QUESTDB · AERON
FIX 4.4 · SQLite
ROCKY 9 · LINUX
Tick · Ingestion 4M /sec QuestDB native ILP. Vs ClickHouse 1–2M/s, Timescale 200–400K/s.
LATEST · ON 1.56ms Most-recent value per symbol across the full corpus.
OHLCV · BAR 25ms SAMPLE BY bar build. ClickHouse 547ms.
Tick · Capture 250ms Per-symbol L2 + trade snapshot, top 10 levels stored.
§ 06 · SDKPYTHON · RUST

Drop-in SDKs, real APIs.

PIP · CARGO
REST + WS
EXPRESSION DSL
python · pip install urchenSDK
# Register a custom feature, deploy a strategy
from urchen import UrchenClient, StrategyClient

client = UrchenClient(api_key="…")

client.register_feature(
    name="alpha",
    expr="abs(ofi_multi_lag)*0.42 + book_imbalance*0.15",
)

strat = StrategyClient.deploy(
    template="b212_market_maker",
    venue="binance.spot",
    symbol="BTCUSDT",
    gates={
        "portfolio_default_probability": "< 0.10",
        "contagion_score": "< 0.25",
    },
)
strat.start(mode="LIVE")
rust · cargo add urchen-sdkCRATE
// Pull risk + cascade features into a custom strategy
use urchen_sdk::{Client, Strategy, Mode};
use urchen_types::{RiskResult, CascadeResult};

async fn run() -> anyhow::Result<()> {
    let c = Client::connect("https://api.urchen.com").await?;

    let risk: RiskResult = c.risk("BTCUSDT").await?;
    let casc: CascadeResult = c.cascade("BTCUSDT").await?;

    if risk.default_probability < 0.10
        && casc.contagion_score < 0.25
    {
        Strategy::deploy("b212_market_maker")
            .venue("binance.spot")
            .symbol("BTCUSDT")
            .mode(Mode::Live)
            .start().await?;
    }
    Ok(())
}
Private beta · 2026

Make the market.
Model the cascade.