// Variant C — continued: engine deep dive, spec table, testimonial, CTA, footer. // ─── Deep dive into the engine with tabs function DeepDiveC() { const tabs = [ { key: 'L1', n: 'L1', name: 'Rules & anomaly', time: '3ms', headline: 'Deterministic. Unambiguous. Always first.', body: 'Forty-plus hand-tuned signals: velocity windows, baseline deviation, geo/ISP anomalies, sanctions and blocklists, known-bad fingerprints. Runs in-memory against a 90-day rolling window per client. Catches the obvious before a model is ever invoked — saves cost and latency on the 80% happy path.', bullets: ['40+ signals · velocity, baseline, geo, lists', 'Runs in 3ms p50 · pure memory, no network', 'Explainable by definition: which rule fired, why'], tone: '#63D4E6', }, { key: 'L2', n: 'L2', name: 'Model α', time: '14ms', headline: 'Contextual risk. First independent opinion.', body: 'Gradient-boosted scorer trained per-tenant on your own historical labels. Features include client tenure, destination reputation, time-of-day, transaction shape, and behaviour graph proximity. Outputs a calibrated risk score with SHAP-like feature contributions attached to every verdict.', bullets: ['Tenant-specific model · retrained weekly', 'Calibrated score + feature attributions', 'Shadow-mode deploy before promotion'], tone: '#9387FF', }, { key: 'L3', n: 'L3', name: 'Model β', time: '22ms', headline: 'Independent reasoning. Breaks ties, writes the reason.', body: 'A second scorer, different architecture, different training data. Invoked when L1 and L2 disagree, and on the high-stakes tail. Produces a short written narrative and a confidence. When α and β disagree, the transaction is held for human review — no silent coin flips.', bullets: ['Different family from Model α on purpose', 'Written rationale attached to every decision', 'Disagreement → review, never silent override'], tone: '#81A8FF', }, ]; const [active, setActive] = React.useState('L1'); const cur = tabs.find(t => t.key === active); return (
02 · UNDER THE HOOD

Three models you can reason about.

Every layer is documented, inspectable, and replaceable. This is what runs on your transactions.

{tabs.map(t => ( ))}

{cur.headline}

{cur.body}

    {cur.bullets.map(b => (
  • {b}
  • ))}
{cur.key === 'L1' && } {cur.key === 'L2' && } {cur.key === 'L3' && }
); } // ─── L1 panel: rule firing table function L1Panel({ tone }) { const rules = [ { name: 'ip_blocklist_global', fired: true, weight: '+∞', note: 'hard block' }, { name: 'velocity_1h > baseline', fired: true, weight: '+0.31', note: '21% over' }, { name: 'dest_age_days', fired: true, weight: '+0.18', note: 'first seen 14d' }, { name: 'sanctioned_country', fired: false, weight: '—', note: 'n/a' }, { name: 'amount_vs_client_baseline', fired: false, weight: '—', note: 'within 1σ' }, { name: 'geo_mismatch', fired: false, weight: '—', note: 'consistent' }, { name: 'anonymizer_ip', fired: false, weight: '—', note: 'residential' }, ]; return (
Rule evaluation · pay_01K5Z0QXM3 3 ms
{rules.map(r => (
{r.name} {r.weight} {r.note}
))}
3 of 40+ rules fired BLOCK · L1 hard match
); } // ─── L2 panel: feature contributions bars function L2Panel({ tone }) { const features = [ { f: 'dest_first_seen_14d', w: 0.32, sign: 'pos' }, { f: 'ip_rep_cluster_match', w: 0.28, sign: 'pos' }, { f: 'client_velocity_1h', w: 0.18, sign: 'pos' }, { f: 'time_of_day_normal', w: -0.08, sign: 'neg' }, { f: 'amount_within_baseline', w: -0.12, sign: 'neg' }, { f: 'client_age_months', w: -0.04, sign: 'neg' }, ]; return (
Model α · feature attributions score 88
{features.map((f, i) => (
{f.f}
{f.w > 0 ? '+' : ''}{f.w.toFixed(2)}
))}
confidence 0.91 · version α-v42.1 · 14ms
); } // ─── L3 panel: narrative + confidence function L3Panel({ tone }) { const [typed, setTyped] = React.useState(''); const full = 'Destination address was first seen 14 days ago on an unrelated tenant. Originating IP belongs to a cluster previously associated with laundering activity (confidence 0.84). Transaction shape and velocity fit known mixer-adjacent patterns. L1 already hard-blocked on IP list; I concur and recommend escalation to compliance for account-level review.'; React.useEffect(() => { setTyped(''); let i = 0; const iv = setInterval(() => { i += 3; if (i >= full.length) { setTyped(full); clearInterval(iv); return; } setTyped(full.slice(0, i)); }, 16); return () => clearInterval(iv); }, []); return (
Model β · written rationale conf 0.89
subjectpay_01K5Z0QXM3 · 4,820 USDT priorL1: BLOCK · L2: 88 verdictCONCUR → escalate
{typed}
β-v18 · 22ms · disagreement-triggered review queue
); } // ─── Spec table function SpecTableC() { const specs = [ ['Latency · p50 end-to-end', '39 ms', 'full 3-layer chain'], ['Latency · p99 end-to-end', '82 ms', 'under inline-scoring budget'], ['Throughput', '28k tx/s', 'per region · horizontal scale'], ['Availability', '99.997%', 'rolling 12 months'], ['Deployment', 'REST · gRPC', 'SDKs: Node, Python, Go, Java'], ['Training', 'weekly · tenant-specific', 'supervised + shadow-mode'], ['Explainability', 'feature attributions + narrative', 'every verdict · machine + human'], ['Replay', 'full history · 18 months', 'replay new rules on old traffic'], ['Data residency', 'EU · US · APAC', 'per-tenant pinning'], ['Certifications', 'SOC 2 II · PCI-DSS 4.0 · ISO 27001 · GDPR', ''], ]; return (
03 · SPECS

What you actually get.

{specs.map(([k, v, note], i) => (
{k} {v} {note}
))}
); } // ─── Testimonial function TestimonialC() { return (
★★★★★ · 4.9/5 · 240+ operators
"We stopped arguing about false blocks the week Dipoli went live. Every verdict comes with a reason. When we disagree with the chain, we disagree with evidence, not vibes."
MK
Marta Kowalski
Head of Risk Ops · INXY Payments
–67%
false blocks, q/q
); } // ─── Final CTA function FinalCtaC() { return (

Stop guessing at fraud. Start deciding.

14-day trial on your own traffic. No card, no sales call. Drop in, see verdicts, ship if it works.

ONBOARDING IN 48 HRS · SANDBOX WITH REAL MODELS · CANCEL ANYTIME
); } // ─── Footer function FooterC() { return ( ); } Object.assign(window, { NavC, HeroC, LogoStripC, BentoC, DeepDiveC, L1Panel, L2Panel, L3Panel, SpecTableC, TestimonialC, FinalCtaC, FooterC, });