Ship Soroban dApps without touching XDR.
Sorokit turns a deployed contract's spec into typed, validated React hooks. One provider wires up network config, wallet connection, and devtools, with no code generation and no hand-rolled signing glue.
Works with the wallets your users already have
From install to your first hook.
Three steps, no detours: install the packages, wire up a wallet, call a contract.
Everything you need to ship.
No code generation
Every hook fetches a contract's spec at runtime from its contractId and derives a Zod schema automatically. Point at a different contract, and there's nothing to regenerate or republish.
One entry point
SorokitProvider wires up network config, wallet connection, and devtools in a single component.
Swap wallets, not code
Whether it's stellarWalletsKit(), blux(), or para(), you get the same useWallet() hook either way. Hot-swap the connector without touching a component.
Total type-safety
Args validated, results decoded, and errors normalized across all 16 contract error classes before any of it reaches your component.
See every send
A devtools panel that logs every simulate → sign → submit cycle, with the built transaction and resource usage, right next to your app.

