RADIX WikiRADIX Wiki

Introduction

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-based Gateway client, transaction and streaming helpers, an SBOR schema builder, an agent toolkit, and the rdx command-line tool. It is the work of xstelea, who described himself in the Radix DLT Official Telegram on 6 August 2026 as previously "lead of the dApp engineering team", and who also maintains Radix Context, Radix Skills and Hookah.

It is not an official radixdlt project and does not replace the 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 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 workspace and versioned together with 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.

PackageVersionDownloads/moPurpose
radix-web3.js0.6.3257Core client: accounts, keypairs, manifests, balances, submission
@radix-effects/gateway0.6.4138Effect-based Gateway API client for Node and browser
radix-connect0.3.3128Encrypted Radix Wallet interaction over Radix Connect Relay
radix-agent-toolkit0.1.1157GOAT SDK wallet integration exposing account and transaction tools to agents
rdx-cli0.2.435The rdx executable β€” agent-first Manifest V2 workflows
@radix-effects/tx-tool0.2.4β€”Build, analyse, preview, sign, submit and track transactions
@radix-effects/transaction-stream0.1.11β€”Stream utilities for polling Gateway transaction history
@radix-effects/sbor0.3.3β€”Schema builder for parsing SBOR-shaped values
@radix-effects/shared0.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 credits sbor-ez-mode and 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, which installs an rdx binary for driving Transaction Manifest V2 workflows from files. Its README 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 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), 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, 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 and 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. 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, 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, by contrast, ships an MIT LICENSE file.
  • It is effectively one maintainer. Of the repository's contributors, 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 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 β€” one that does not describe official protocol behaviour.