---
title: "radix-web3.js"
url: "https://radix.wiki/developers/tools/radix-web3-js"
version: "1.1.0"
updated: 2026-08-23
last_verified: 2026-08-23
license: CC-BY-4.0
license_url: "https://creativecommons.org/licenses/by/4.0/"
---

# radix-web3.js

|  |  |
| --- | --- |
| **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) |

## 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 23 August 2026; the versions are unchanged from the 20 June release, so the download column is the only thing that moves.

|  |  |  |  |
| --- | --- | --- | --- |
| **Package** | **Version** | **Downloads/mo** | **Purpose** |
| [`radix-web3.js`](https://www.npmjs.com/package/radix-web3.js) | 0.6.3 | 236 | 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 | 170 | 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 | 83 | 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 | 76 | [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 | 32 | The `rdx` executable — agent-first Manifest V2 workflows |
| [`@radix-effects/tx-tool`](https://www.npmjs.com/package/@radix-effects/tx-tool) | 0.2.4 | 105 | Build, analyse, preview, sign, submit and track transactions |
| [`@radix-effects/transaction-stream`](https://www.npmjs.com/package/@radix-effects/transaction-stream) | 0.1.11 | 60 | Stream utilities for polling Gateway transaction history |
| [`@radix-effects/sbor`](https://www.npmjs.com/package/@radix-effects/sbor) | 0.3.3 | 28 | Schema builder for parsing SBOR-shaped values |
| [`@radix-effects/shared`](https://www.npmjs.com/package/@radix-effects/shared) | 0.0.5 | 126 | 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 23 August 2026 the core package recorded **236 downloads in the previous month** and `rdx-cli` **32**, against **45,317** for the official [@radixdlt/radix-dapp-toolkit](https://www.npmjs.com/package/@radixdlt/radix-dapp-toolkit) – a ratio of roughly 190 to 1. All nine packages together drew **916** downloads that month. The GitHub repository still carried **8 stars, 3 forks and 20 open issues**, unchanged since the page was written. 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 ("Add radix-web3 agent skill"), so as of 23 August 2026 nothing has been pushed for nine weeks.

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 – 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 – the TypeScript library the packages are built on](https://effect.website/)
- [gateway-ez-mode – the SBOR package's acknowledged predecessor](https://github.com/CalamariRadix/gateway-ez-mode)
