// the find
FuelLabs/fuels-ts
Fuel Network Typescript SDK
The official TypeScript SDK for Fuel, a separate L1 chain with its own VM (FuelVM) and contract language (Sway). It's for devs building dApps against Fuel — wallet interaction, contract calls, predicates, scripts — and it ships with a CLI that handles the Sway-to-TypeScript bridge.
The `fuels typegen`/`fuels build` pipeline generates TypeScript bindings straight from Sway ABI JSON, so you get typed contract calls instead of hand-rolled interfaces that drift from the actual contract. The CLI also bundles `fuels dev` (local node with hot-reload) and `fuels deploy`, which cuts down on juggling a separate Rust/Sway toolchain alongside your JS one. Test infrastructure is taken seriously — dedicated CI workflows for forc-version compatibility, coverage config, and Playwright UI tests baked into the demo apps rather than bolted on. There's a decent spread of real integration examples (Next.js, Vite, Bun, plain Node ESM, wallet-sdk-react) instead of just one toy snippet.
They shipped a `fuels versions` CLI command specifically to check SDK/toolchain compatibility — that's a tell that version skew between the SDK, forc, and fuel-core is a real, recurring pain point, not a hypothetical. It's a large turborepo monorepo (core SDK, docs site, CLI, several demo apps, changesets) which raises the bar if you just want to vendor the client library and contribute a fix. The basic connect example still surfaces low-level chain concepts (gas config, base asset ID) directly, meaning the underlying chain/VM semantics aren't fully abstracted away yet. Nothing in the README speaks to bundle size or tree-shaking, which matters for a library meant to ship wallet/contract code into a browser dApp.