---
title: "radix-web3.js"
path: "/developers/tools/radix-web3-js"
version: "1.0.0"
author: "Hydrate"
createdAt: "2026-08-06T15:08:06.310Z"
updatedAt: "2026-08-06T15:08:06.310Z"
---

# radix-web3.js

<Infobox>
| **Type** | TypeScript package suite (monorepo) |
| **Author** | [xstelea](https://github.com/xstelea) |
| **Packages** | 9 published on [npm](https://www.npmjs.com/package/radix-web3.js) |
| **Runtime** | Node.js ≥ 20 and browser |
| **Built on** | [Effect](https://effect.website/) |
| **Licence** | MIT in `package.json`; no `LICENSE` file in the repository |
| **First commit** | 26 January 2025 |
| **Last release** | 20 June 2026 |
| **Docs** | [xstelea.github.io/radix-web3.js](https://xstelea.github.io/radix-web3.js/) |
| **Repository** | [GitHub](https://github.com/xstelea/radix-web3.js) |
</Infobox>

## Introduction

[radix-web3.js](https://github.com/xstelea/radix-web3.js) is a community TypeScript monorepo that publishes nine npm packages for building on Radix: a core client, a wallet-connect client, an [Effect](https://effect.website/)-based [Gateway](/developers/frontend/02-gateway-sdk) client, transaction and streaming helpers, an [SBOR](https://docs.radixdlt.com/docs/sbor) schema builder, an agent toolkit, and the `rdx` command-line tool. It is the work of [xstelea](https://github.com/xstelea), who described himself in the [Radix DLT Official Telegram](https://t.me/radix_dlt/997291) on 6 August 2026 as previously "lead of the dApp engineering team", and who also maintains [Radix Context](/developers/ai-agents/radix-context), [Radix Skills](/developers/ai-agents/radix-skills) and [Hookah](/developers/tools/hookah).

It is not an official [radixdlt](https://github.com/radixdlt) project and does not replace the [Radix dApp Toolkit](/developers/frontend/01-radix-dapp-toolkit), which remains the recommended front-end integration path. Its relevance is narrower and specific: it is the largest community-maintained TypeScript surface for Radix, it is the reference implementation the [radix-skills](/developers/ai-agents/radix-skills) agent skill clones as one of its two required source checkouts, and it carries an agent-first transaction CLI that has no official counterpart.

## The Packages

All nine packages are published from a single [pnpm](https://pnpm.io/workspaces) workspace and versioned together with [Changesets](https://github.com/changesets/changesets); the most recent release published all of them on 20 June 2026. Versions and monthly download counts below were read from the npm registry on 6 August 2026.

| **Package** | **Version** | **Downloads/mo** | **Purpose** |
| [`radix-web3.js`](https://www.npmjs.com/package/radix-web3.js) | 0.6.3 | 257 | Core client: accounts, keypairs, [manifests](/developers/transactions/01-manifest-language), balances, submission |
| [`@radix-effects/gateway`](https://www.npmjs.com/package/@radix-effects/gateway) | 0.6.4 | 138 | Effect-based [Gateway API](/developers/infrastructure/02-radix-apis) client for Node and browser |
| [`radix-connect`](https://www.npmjs.com/package/radix-connect) | 0.3.3 | 128 | Encrypted [Radix Wallet](/contents/tech/core-protocols/radix-wallet) interaction over Radix Connect Relay |
| [`radix-agent-toolkit`](https://www.npmjs.com/package/radix-agent-toolkit) | 0.1.11 | 57 | [GOAT SDK](https://github.com/goat-sdk/goat) wallet integration exposing account and transaction tools to agents |
| [`rdx-cli`](https://www.npmjs.com/package/rdx-cli) | 0.2.4 | 35 | The `rdx` executable — agent-first Manifest V2 workflows |
| [`@radix-effects/tx-tool`](https://www.npmjs.com/package/@radix-effects/tx-tool) | 0.2.4 | — | Build, analyse, preview, sign, submit and track transactions |
| [`@radix-effects/transaction-stream`](https://www.npmjs.com/package/@radix-effects/transaction-stream) | 0.1.11 | — | Stream utilities for polling Gateway transaction history |
| [`@radix-effects/sbor`](https://www.npmjs.com/package/@radix-effects/sbor) | 0.3.3 | — | Schema builder for parsing SBOR-shaped values |
| [`@radix-effects/shared`](https://www.npmjs.com/package/@radix-effects/shared) | 0.0.5 | — | Shared Effect schemas and branded Radix domain types |

The SBOR package is explicitly a continuation rather than a new idea. The repository's own [tribute note](https://github.com/xstelea/radix-web3.js#tribute) credits `sbor-ez-mode` and [gateway-ez-mode](https://github.com/CalamariRadix/gateway-ez-mode) by daan_xrd as the origin of the developer-friendly decoding API, rebuilt here around Effect Schema, branded types and explicit encode/decode transforms.

## rdx: An Agent-First Transaction CLI

The most distinctive package is [rdx-cli](https://www.npmjs.com/package/rdx-cli), which installs an `rdx` binary for driving [Transaction Manifest V2](/developers/transactions/02-transaction-lifecycle) workflows from files. Its [README](https://github.com/xstelea/radix-web3.js/blob/main/packages/cli/README.md) is unambiguous that it is not a wallet: it "never stores, accepts, or derives private keys", and participants sign the generated `hash.hex` values out of band and return signature files. Commands are non-interactive and print JSON by default, which is the point — the intended caller is a coding agent or a script, not a person.

A run moves through prepare → add signatures → notarize → submit → status, leaving artefacts on disk at each step (`prepared.json`, `transactionIntent.json`, `staticAnalysis.json`, `notarizedTransaction.hex`, `submitResult.json`). Direct child [subintents](/contents/tech/core-concepts/subintents-and-pre-authorizations) are supported by passing a subintents workflow file at preparation. Read-only account and history commands query the Gateway and require no signing at all, and `rdx llm` prints an embedded Markdown guide written for coding agents.

The scope is deliberately narrow, and the README states the limits plainly: Manifest V2 only, one root intent plus direct child subintents, Ed25519 keys and signatures only, out-of-band signing only, and no browser or hardware wallet pairing. Two operational cautions carry real risk — `rdx` defaults to **Mainnet**, and prepared artefacts are network-bound, so a transaction prepared against one network must not be submitted to another.

Alongside the CLI the package ships a draft specification, [Radix Agent Protocol (RAP/1)](https://github.com/xstelea/radix-web3.js/blob/main/packages/cli/Radix%20Agent%20Protocol%20(RAP)%20V1.md), which describes the same workflow as a finite-state protocol — states, JSON payload shapes, transitions, validation rules and error shapes — in normative `MUST`/`SHOULD` language. RAP/1 is written to be implementable by an HTTP endpoint, a queue worker or an in-process SDK rather than only a CLI, and it is marked "Draft… not a final external standard"; it has no adopters outside this repository.

## Effect as the Design Choice

The packages under the `@radix-effects` scope are built on [Effect](https://effect.website/), a TypeScript library that models errors, dependencies and resources in the type system rather than in `try`/`catch` and ad-hoc wiring. The practical consequence for Radix work is that the failure modes a dApp actually hits — a Gateway timeout, a rejected intent, a transaction that never commits — become typed values a caller must handle, and services such as the Gateway client are injected rather than constructed inline.

That choice is also the main adoption cost. Effect is a substantial dependency with its own idioms, and a team already using the official [Radix dApp Toolkit](/developers/frontend/01-radix-dapp-toolkit) and [Gateway API SDK](https://www.npmjs.com/package/@radixdlt/babylon-gateway-api-sdk) takes on a second, unfamiliar programming model to use these packages. The repository's own agent instructions reflect how much of the design leans on it: they direct an agent to read the vendored Effect source for idiomatic usage before implementing anything.

## Adoption and Caveats

Three things are worth checking before depending on it.

- **Usage is small, and the comparison is instructive.** On 6 August 2026 the core package recorded **257 downloads in the previous month** and `rdx-cli` **35**, against **46,211** for the official [@radixdlt/radix-dapp-toolkit](https://www.npmjs.com/package/@radixdlt/radix-dapp-toolkit). The GitHub repository carried **8 stars, 3 forks and 20 open issues**. This is a personal project of substance, not an ecosystem standard.

- **The licence is inconsistent.** Eight of the nine packages declare `"license": "MIT"` in their `package.json`, and `@radix-effects/sbor` declares none — but the repository itself carries no `LICENSE` file. Under [GitHub's stated default](https://docs.github.com/en/site-policy/github-terms/github-terms-of-service), publishing source without a licence grants no rights beyond viewing and forking, so the npm declaration and the repository disagree about what a user may do with the code. The author's [Hookah](https://github.com/xstelea/hookah), by contrast, ships an MIT `LICENSE` file.

- **It is effectively one maintainer.** Of the repository's contributors, [xstelea](https://github.com/xstelea) accounts for 172 commits; the remainder are release bots and a single three-commit outside contributor. Development has also been quiet — the last release was 20 June 2026 and the last commit of any kind 21 June 2026, seven weeks before this page was written.

The point about the licence matters beyond this repository, because [radix-skills](/developers/ai-agents/radix-skills) instructs an agent to clone radix-web3.js as one of its two authoritative source checkouts. An agent grounding Radix answers in this code is grounding them in a community library whose reuse terms are ambiguous, and — unlike its companion checkout [radixdlt/radixdlt-scrypto](https://github.com/radixdlt/radixdlt-scrypto) — one that does not describe official protocol behaviour.

## External Links

- [xstelea/radix-web3.js &ndash; GitHub Repository](https://github.com/xstelea/radix-web3.js)

- [Documentation site](https://xstelea.github.io/radix-web3.js/)

- [radix-web3.js on npm](https://www.npmjs.com/package/radix-web3.js)

- [rdx-cli on npm](https://www.npmjs.com/package/rdx-cli)

- [Radix Agent Protocol (RAP/1) draft](https://github.com/xstelea/radix-web3.js/blob/main/packages/cli/Radix%20Agent%20Protocol%20(RAP)%20V1.md)

- [Effect &ndash; the TypeScript library the packages are built on](https://effect.website/)

- [gateway-ez-mode &ndash; the SBOR package's acknowledged predecessor](https://github.com/CalamariRadix/gateway-ez-mode)