prajjwal

prajjwal@chittori:~$ whoami

Prajjwal Chittori

_

prajjwal@chittori:~$ cat summary.txt

Crypto & payments backend engineer. ex-Stader (founding engineer → $500M+ TVL liquid staking), ex-Visa cross-border payments & stablecoins, now Senior Backend Engineer at EtherFi building card ↔ on-chain settlement. Merged open source across blockchain infra (Optimism, revm, alloy, celestia-node, ethrex) and AI inference (vLLM, SGLang, mistral.rs). Based in George Town, Cayman Islands.

prajjwal@chittori:~$ ls links/

Experience

2021 – now

Backend engineering across crypto and global payments.

EtherFi — Senior Backend Engineer, Cash

2026 – now

Crypto / liquid restaking reconciled with Visa card settlement — real-time authorization, capture & reconciliation, Borrow Mode, and an event-driven cashback pipeline on Kafka.Go · Solidity · EigenLayer · Kafka

Visa — Senior Software Engineer

2022 – 2026

Cross-border payments: Visa Direct A2A, 100+ SWIFT message types, Treasury-as-a-Service across 15 currencies. Led an 8-engineer team on a real-time platform at 2,000+ TPS, 99.98% uptime.Java · Spring · Hazelcast · K8s

Stader Labs — Founding Engineer

2021 – 2022

Rust / CosmWasm smart contracts powering liquidity pools past $500M+ in total value locked across multiple chains; validator analytics over 1M+ nodes.Rust · CosmWasm · TypeScript

Research

3 papers

Published, peer-citable work.

Cache-aware request planning for black-box LLM APIs

2026 · preprint

Cache-Aware Client-Side Request Planning for Black-Box LLM APIs. When you consume an LLM through a paid per-token API you pay for the tokens the server processes, so the only lossless lever a client has is re-ordering requests to hit the provider's prompt cache. Formalizes that design space and ships a greedy prefix-clustering scheduler that shapes request order to maximize cache hits — up to 60% billed-cost reduction on an agentic workload at zero quality loss, Pareto-dominating prompt compression and semantic caching. DOI 10.5281/zenodo.21386594 · pjdurden/cache-aware-request-planning

Executable correctness under KV-cache compression

2026 · preprint

Perplexity Holds, Programs Break: Executable Correctness as a Blind Spot of KV-Cache Compression. KV-cache compression is benchmarked almost entirely on token-overlap and retrieval metrics that never check whether generated code actually runs or a tool call is schema-valid. Introduces kv-exec-bench, an open benchmark measuring code unit-test pass@1 and tool-call JSON-Schema validity under compression, built on NVIDIA's kvpress so any press works unmodified. DOI 10.5281/zenodo.20805562 · pjdurden/kv-exec-bench

StragglerPolicy — decentralized training

2026 · paper

Straggler-Aware Elastic Membership for Decentralized Training. A zero-GPU discrete-event simulator of DiLoCo-style decentralized ML training plus a straggler-aware membership policy for slow-but-alive nodes — 4.59× faster on a persistent-straggler scenario. Published on Zenodo. DOI 10.5281/zenodo.20574905 · pjdurden/churn

Open Source

16 contributions

Merged work on the infrastructure other people build on — blockchain & crypto infra first, plus AI inference and ML systems.

Optimism — op-wheel metrics fix

2026

Merged contribution to Optimism, the OP Stack monorepo powering Ethereum L2s like Base & OP Mainnet: fixed an op-wheel metrics bug where RecordBlockStats wrote block gas twice and left the base-fee gauge unset, and corrected the pre-block status log. ethereum-optimism/optimism #21127

revm — EVM interpreter fix

2026

Merged contribution to revm, the Rust EVM behind Foundry & reth (2.2K★): reworked pop_address to use IntoAddress, removing a const-eval panic path in the stack interpreter. bluealloy/revm #3735

alloy — sol! macro derive fix

2026

Merged contribution to alloy, the Rust Ethereum-types & sol! toolkit used across Foundry, reth & the wider Rust EVM ecosystem: the sol! macro silently dropped Debug/PartialEq/Eq/Hash derives on the event/error enums it generates for contracts with overloaded events (e.g. Uniswap V3's two Swap events), because synthetic _N-suffixed variant names didn't resolve; fixed it to compute derivability from the underlying parameter types. alloy-rs/core #1118

ethrex — Ethereum client startup fix

2026

Merged contribution to ethrex, the Rust Ethereum L1/L2 execution client by LambdaClass: replaced a too-broad datadir non-empty check with an actual-DB probe, so unrelated files (e.g. an EthDocker JWT secret in the same directory) no longer block a fresh node from booting. lambdaclass/ethrex #6786

celestia-node — DA layer test-infra

2026

Merged contribution to celestia-node, the Go node for the Celestia data-availability layer: unified the header TestSuite constructors behind functional options, cutting duplicated test setup. celestiaorg/celestia-node #5041

CoinSwap — CosmWasm + Terraswap DEX

2022

DEX swap contract for LUNA/UST/CW20 tokens, with a gas-fee analysis tool for the Terra blockchain. pjdurden/CoinSwap

Gas-Fee Benchmark — Terra/CosmWasm

2022

Benchmarking contract measuring the gas cost of storage patterns on Terra/CosmWasm — the analysis behind Stader's on-chain gas optimization. pjdurden/Gas_analysis

mcp-go — OAuth error-handling fix

2026

Merged contribution to mcp-go, the leading Go implementation of the Model Context Protocol (MCP): fixed getServerMetadata returning (nil, nil) on failure instead of an error, removing a silent-failure path for OAuth discovery. mark3labs/mcp-go #904

vLLM — build-correctness fix

2026

Merged contribution to vLLM, the standard high-throughput LLM inference & serving engine: fixed a self-contradictory precompiled-flag orthogonality test in the build system. vllm-project/vllm #44942

SGLang — PD cache-aware routing fix

2026

Merged contribution to SGLang, the high-throughput LLM/VLM serving engine: the prefill/decode router's cache-aware routing keyed chat requests on the first message only; routing on the full conversation lifted KV-cache hits from ~69% to ~96% and output throughput from ~678 to ~1078 TPS. sgl-project/sglang #27430

AIBrix — KV-event decoder & eviction fixes

2026

Merged contribution to AIBrix, the vLLM project's Kubernetes-native LLM-serving control plane: the ZMQ KV-event decoder dropped group_idx/medium/lora_name from vLLM's BlockStored event, causing false prefix-cache matches on hybrid-attention models; and made the KV-event indexer purge a pod's cached prefixes on AllBlocksCleared so evicted blocks are no longer served as stale cache hits. vllm-project/aibrix #2384 · #2385

Envoy AI Gateway — MCP proxy & token-usage fixes

2026

Two merged contributions to Envoy AI Gateway, the Envoy-based gateway for AI/LLM traffic: the MCP proxy failed initialize with a 500 when a backend's SSE response opened with a keep-alive / empty data: event before the JSON-RPC result (seen on some FastMCP backends), so the SSE parser now skips non-response events instead of treating them as a fatal parse error; and the Anthropic translator dropped the input/cache token usage reported on message_delta, leaving it out of the final usage totals, now fixed to merge it in. envoyproxy/ai-gateway #2267 · #2292

mistral.rs — scheduler & GGUF-loader fixes

2026

Two merged contributions to mistral.rs, the Rust LLM inference & serving engine: fixed reversed FCFS priority in the PagedAttentionScheduler preemption path so the oldest request is preempted last, and validated GGUF special-token ids against the vocab to prevent an out-of-bounds panic on model load. EricLBuehler/mistral.rs #2250 · #2282

llguidance — constrained-decoding fixes

2026

Two merged contributions to llguidance, the constrained-decoding engine behind structured / JSON-Schema output in vLLM, SGLang & llama.cpp: fixed JSON-Schema multipleOf rejecting negative multiples, and made max_tokens=0 rules compile to the empty string. guidance-ai/llguidance #357 · #356

Meilisearch — ranking-rules fix

2026

Merged contribution to Meilisearch, the Rust search engine (58K★): fixed a ranking-rules ordering bug where placing attributeRank/wordPosition before the words rule silently dropped matching hits. meilisearch/meilisearch #6437

Companies Founded

2 ventures

Things I started from zero and shipped to real customers.

KuruX Enterprises

2025

A sustainable-cleaning consumer brand (NAMELESS / WipeZilla), built solo end to end — manufacturing, compliance, listings. ₹2L revenue in month one; now run by family. wipezilla.in

Bizpedia

2024

A free, open-source wiki for the world of business — structured, contributor-driven reference. bizpedia.org

Creator

22K+ following · 20M+ views

Short-form philosophy and long-form takes — an audience built on one consistent format.

Series What I Think About the Top 50 Fintech Companies of All Time Vision over financials — 50 companies, what each got right and wrong, and the founders behind them. →

@prajjwalsinghchittori — philosophy, short-form

active

An English quote, explained in Hindi. 22K+ followers and 20M+ views across Instagram & YouTube — one format, run with relentless consistency. Instagram · YouTube

Side Projects

3 builds

Smaller things built to learn or to prove a point.

nanoserve — LLM inference engine

2026

A from-scratch LLM inference engine, built in public over 100 days. Paged KV cache, continuous batching, and a hand-written Triton paged-attention kernel — the core ideas behind vLLM in ~2k readable lines.PyTorch · Triton · CUDA pjdurden/nanoserve

Veri5

2024 – 25

Real-time identity & account-verification API for EU cross-border payments — distributed caching at 1,000+ req/sec, full observability.Spring · Redis · Hazelcast pjdurden/veri5-mvp

KuruX — trading simulator

2023

A private-equity trading simulator with a hand-built order book, featured by Y Combinator Startup School.

Competitive

Competitive programming

Codeforces Expert; ~8,000 problems solved across Codeforces, CodeChef, LeetCode, UVa and more. codeforces/pjdurden

Chess

FIDE-registered player, 1600+ rating.

Writing