Wagmi for Stellar

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

FreighterxBullAlbedoLobstrHanaRabetStellar Wallets KitBluxPara
FreighterxBullAlbedoLobstrHanaRabetStellar Wallets KitBluxPara
FreighterxBullAlbedoLobstrHanaRabetStellar Wallets KitBluxPara
FreighterxBullAlbedoLobstrHanaRabetStellar Wallets KitBluxPara

From install to your first hook.

Three steps, no detours: install the packages, wire up a wallet, call a contract.

terminal
pnpm add @sorokit/provider @sorokit/wallet-adapter @sorokit/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.