---
name: radix-community-web
description: Use the Radix Community MCP server to answer questions about the Radix DLT network from the site docs, inspect any on-ledger entity (accounts, components, packages, resources, validators, transactions), and prepare transaction manifests the user signs in the web console with their Radix wallet.
---

# Radix Community Web — MCP skill

MCP server of https://radix-community.genkipool.com (server name: `radix-community`, version 1.0.0).

## Connection

Streamable HTTP endpoint (stateless, no authentication):

```
https://radix-community.genkipool.com/api/mcp
```

Example (Claude Code): `claude mcp add --transport http radix https://radix-community.genkipool.com/api/mcp`

Generic JSON client config:

```json
{
  "mcpServers": {
    "radix": { "type": "http", "url": "https://radix-community.genkipool.com/api/mcp" }
  }
}
```

## How to work with this server

1. **Site questions** ("where is X?", "what does this site offer?") → `get_site_overview`.
2. **Knowledge questions** ("how do NFTs work on Radix?", "where is the validator install guide?") → `search_radix_docs`, then `read_radix_doc` for the full text. Both accept `locale: "en" | "es"` — answer in the user's language.
3. **On-ledger data** (balances, entity state, transactions, validators, NFTs, holders, component state, blueprints) → the ledger tools. All accept `network: "mainnet" | "stokenet"`; default is mainnet. Never mix networks: mainnet addresses contain `_rdx1`, stokenet ones `_tdx_2_1` (`inspect_address` tells you which network an address belongs to).
4. **Actions** (send tokens, stake, create a token, deploy, log in with Radix, …): this server **cannot sign transactions** (it is stateless). The safe pipeline is: build the manifest (console tools) → `validate_transaction_manifest` → `preview_transaction` (real fees and balance changes, no signature) → `explain_manifest` so the user understands it → **sign**. Signing runs on the user's machine through a separate LOCAL MCP server, `radix-connector` (a small binary from the SDK): call `setup_wallet_connector` for the one-time install steps. **Crucial Pairing Flow**: ALWAYS call `list_wallets` first. If a wallet is already paired, skip pairing and proceed to sign. If not paired, call `pair_wallet`. For the QR code: if your interface supports images, save the base64 PNG to a file (e.g., in the workspace root) and display it via markdown. If your interface is a text-only CLI, print the ASCII art QR code directly to the chat so the user can scan it from their terminal. Tell them to scan it in Radix Wallet (Linked Connectors), and IMMEDIATELY call `pair_status` (which will block until they approve). Then use its `send_transaction` / `request_pre_authorization` / `request_account_proof`. **dApp identity**: ALWAYS pass `dapp_definition` + `origin` to these calls so the wallet shows a verified dApp instead of "unverified" — they are optional for `send_transaction` but REQUIRED for `request_account_proof` (ROLA login), where they are part of the signed message. Get the values from `get_known_addresses {network}` (origin is always `https://radix-community.genkipool.com`; the dApp definition is per-network). If the user prefers not to install the connector, they can paste the manifest at `https://radix-community.genkipool.com/{locale}/console/transaction-manifest` and sign in the browser instead. **ALWAYS show the final transaction URL to the user using the custom dashboard: https://radix-community.genkipool.com/es/dashboard?network=<network>&view=transactions&tag=Success&tx=<intent_hash>**
5. **AI Safety & Manifest Rules (CRITICAL)**: NEVER write or guess Scrypto transaction manifests manually from memory. Radix manifest syntax changes frequently and is highly complex (e.g., strict Enum typing, Option/None wrapping). ALWAYS use the `build_fungible_token_manifest` or `build_manifest_from_template` tools provided by this server. Furthermore, BEFORE calling `send_transaction` on the local connector to prompt the user's phone, you MUST pass the manifest through `validate_transaction_manifest`. If validation fails, DO NOT prompt the user; fix the errors or use the builder tools.

## Output format

Every tool returns pre-formatted plain text (banner, aligned key/value rows,
tables, fenced code blocks, and a "Next steps" section). It is designed to be
read as-is — quote it or summarise it for the user, do not re-parse it as data.

## Typical workflows

- *"How do NFTs work on Radix?"* → `search_radix_docs {"query": "NFT"}` → `read_radix_doc` → answer with doc URL.
- *"Where is the validator installation guide?"* → `search_radix_docs {"query": "validator node"}` → share the URL from the result.
- *"What does account_rdx1… hold?"* → `get_account_balances`.
- *"Send 10 XRD to Bob"* → `build_manifest_from_template {"templateId": "transfer-tokens", "values": {…}}` → `preview_transaction` → sign with the local `radix-connector` (`setup_wallet_connector` first if not installed) or in the console.
- *"Sign / actually send this transaction"* → `setup_wallet_connector` (install + pair once) → the local connector's `send_transaction {manifest, network, dapp_definition, origin}` → `transaction_status`.
- *"Create a token called Foo"* → `build_fungible_token_manifest` → `preview_transaction` → user signs in the console.
- *"Create an NFT collection"* → `build_nft_collection_manifest` (name + the initial NFTs) → `preview_transaction` → sign.
- *"Give me test XRD / fund my Stokenet account"* → `build_faucet_manifest {"accountAddress": "account_tdx_2_…"}` → sign (Stokenet only).
- *"Deploy my Scrypto package"* → `build_deploy_package_manifest {"rpdHex": "<.rpd hex>"}` → the local connector's `deploy_package {"wasm_path": "…/pkg.wasm", "package_definition": …}` (it reads the WASM from disk).
- *"Which validator should I stake with?"* → `list_validators` → compare fee/uptime/APY → staking page https://radix-community.genkipool.com/en/console/staking.
- *"What is this manifest going to do?"* → `explain_manifest` (plain-language steps) + `preview_transaction` (fees, balance changes).
- *"What's the XRD price / network status?"* → `get_xrd_price`, `get_network_status`.
- *"What are my accounts / show my balances"* (this server is stateless — it has no "connected wallet") → the local connector's `request_accounts` (no signature) to get the address(es) → `get_account_balances` for the chosen one.
- *"Who holds token X? What NFTs exist in collection Y?"* → `get_resource_holders`, `get_nft_data`.
- *"What methods does component_rdx1… expose? What's in its state?"* → `get_component_blueprint`, `get_component_state`, `get_key_value_store`.

# Tool reference

## Site navigation

### `get_site_overview` — Get site overview

Map of the Radix Community web: every section with its URL and what it offers. Call it first when you need to know where something lives on the site.

- `locale` ("en" | "es"; required, default: "en") — Language of the descriptions and generated URLs: "en" or "es"

## Documentation & knowledge

### `search_radix_docs` — Search Radix docs

Searches the curated documentation of the site (whitepapers, Scrypto/developer guides, node & validator guides, DeFi concepts). Returns matching documents with their URL. Call without "query" to list every available document. Use read_radix_doc to fetch the full content.

- `query` (string; optional) — Free-text search, e.g. "install validator" or "NFT". Omit to list all docs.
- `locale` ("en" | "es"; required, default: "en") — Language of the returned content: "en" (English) or "es" (Spanish)

### `read_radix_doc` — Read a Radix doc

Returns the full content of one curated documentation page as Markdown, in English or Spanish. Get valid doc ids from search_radix_docs.

- `docId` (string; required) — Document id, e.g. "scrypto-basics" or "babylon-guide"
- `locale` ("en" | "es"; required, default: "en") — Language of the returned content: "en" (English) or "es" (Spanish)

## Ledger (on-chain data)

### `lookup_entity` — Look up a ledger entity

Fetches the on-ledger state of any Radix address: accounts, components, packages, resources (tokens/NFTs), validators, pools, … Returns entity type, metadata and a summary of its details. For account token balances prefer get_account_balances.

- `address` (string; required) — Bech32m Radix address, e.g. account_rdx1…, component_rdx1…, package_rdx1…, resource_rdx1…, validator_rdx1…
- `network` ("mainnet" | "stokenet"; required, default: "mainnet") — Radix network: "mainnet" (production) or "stokenet" (testnet)

### `get_account_balances` — Get account balances

Lists the fungible tokens (with amounts) and non-fungible tokens (with local ids) held by a Radix account.

- `address` (string; required) — Account address (account_rdx1… / account_tdx_2_1…)
- `network` ("mainnet" | "stokenet"; required, default: "mainnet") — Radix network: "mainnet" (production) or "stokenet" (testnet)

### `get_transaction` — Get transaction details

Fetches a committed transaction by its intent hash (txid_…): status, fee, timestamp, affected entities, balance changes and the transaction manifest.

- `intentHash` (string; required) — Transaction intent hash (txid_…)
- `network` ("mainnet" | "stokenet"; required, default: "mainnet") — Radix network: "mainnet" (production) or "stokenet" (testnet)

### `list_validators` — List network validators

Lists the validators of the Radix network ordered by stake rank, with stake, fee, uptime and APY. Filter by name or address with "find". Use it to answer questions about staking targets or a specific validator.

- `network` ("mainnet" | "stokenet"; required, default: "mainnet") — Radix network: "mainnet" (production) or "stokenet" (testnet)
- `find` (string; optional) — Optional case-insensitive filter on validator name or address
- `limit` (integer; required, default: 20) — Max validators to return

### `get_network_status` — Get network status

Current status of the Radix network: epoch, total XRD staked, number of active validators, average APY and average uptime.

- `network` ("mainnet" | "stokenet"; required, default: "mainnet") — Radix network: "mainnet" (production) or "stokenet" (testnet)

### `get_xrd_price` — Get XRD market data

Live XRD market data from CoinGecko: price in USD and EUR, 24h change, market cap, circulating supply and total value locked.

_No parameters._

### `get_recent_transactions` — Get recent network transactions

Latest committed transactions network-wide, newest first. Use get_transaction with an intent hash for the full breakdown of one of them.

- `network` ("mainnet" | "stokenet"; required, default: "mainnet") — Radix network: "mainnet" (production) or "stokenet" (testnet)
- `limit` (integer; required, default: 10) — Max transactions to return

### `get_address_transactions` — Get transactions of an address

Transaction history of any entity (account, validator, component, resource), newest first. The first page already shows the most recent activity, which is what users almost always want. Accounts can have thousands of transactions: do NOT keep paging to the end — only fetch more pages (with the returned cursor) if the user explicitly asks for older history. Use get_transaction for the full breakdown of one of them.

- `address` (string; required) — Bech32m Radix address, e.g. account_rdx1…, component_rdx1…, package_rdx1…, resource_rdx1…, validator_rdx1…
- `network` ("mainnet" | "stokenet"; required, default: "mainnet") — Radix network: "mainnet" (production) or "stokenet" (testnet)
- `limit` (integer; required, default: 10) — Max transactions to return per page
- `cursor` (string; optional) — Pagination cursor from a previous call, to fetch the next (older) page

### `get_nft_data` — Get NFT ids and data

Explores a non-fungible resource (NFT collection): without "ids" it lists the local ids of the collection; with "ids" it returns the decoded on-ledger data (traits, fields) of those NFTs (max 10 per call).

- `resourceAddress` (string; required) — Non-fungible resource address (resource_rdx1…)
- `ids` (array; optional) — NFT local ids, e.g. ["#1#", "#2#"] or ["<member_1>"]. Omit to list the collection ids.
- `network` ("mainnet" | "stokenet"; required, default: "mainnet") — Radix network: "mainnet" (production) or "stokenet" (testnet)

### `get_resource_holders` — Get top holders of a resource

Lists the top holders of any token or NFT collection ordered by amount held, with the total holder count.

- `resourceAddress` (string; required) — Resource address (resource_rdx1…)
- `network` ("mainnet" | "stokenet"; required, default: "mainnet") — Radix network: "mainnet" (production) or "stokenet" (testnet)

### `get_component_state` — Get decoded component state

Live decoded on-ledger state of a component (oracle prices, pool reserves, configuration, …) plus its package and blueprint. For the callable methods use get_component_blueprint.

- `address` (string; required) — Component address (component_rdx1… / pool_rdx1…)
- `network` ("mainnet" | "stokenet"; required, default: "mainnet") — Radix network: "mainnet" (production) or "stokenet" (testnet)

### `get_key_value_store` — Read a key-value store

Reads the entries of an on-ledger key-value store (component internal storage), decoded to JSON. KVS addresses appear inside component state as internal_keyvaluestore_….

- `address` (string; required) — Key-value store address (internal_keyvaluestore_…)
- `network` ("mainnet" | "stokenet"; required, default: "mainnet") — Radix network: "mainnet" (production) or "stokenet" (testnet)

### `get_component_blueprint` — Get blueprint interface

Callable interface of a component or package blueprint: every function/method with its argument names and types. Pass a component address (the blueprint is resolved automatically) or a package address plus optional blueprintName.

- `address` (string; required) — Component (component_rdx1…) or package (package_rdx1…) address
- `blueprintName` (string; optional) — Blueprint name inside a package. Ignored for component addresses.
- `network` ("mainnet" | "stokenet"; required, default: "mainnet") — Radix network: "mainnet" (production) or "stokenet" (testnet)

## Console (transactions & developer utilities)

### `list_console_tools` — List console tools

Lists every tool of the web developer console (send transactions, staking, token creation, package deployment, metadata, SBOR decoding, …) with its URL and whether it needs a connected wallet. Use it to route the user to the right console page.

- `locale` ("en" | "es"; required, default: "en") — Language of the returned labels/links: "en" or "es"

### `list_manifest_templates` — List manifest templates

Lists the ready-made transaction manifest templates (transfer tokens/NFTs, stake, unstake, claim, mint, burn, create pool, faucet, …) with the fields each one needs. Use build_manifest_from_template to render one.

- `locale` ("en" | "es"; required, default: "en") — Language of the returned labels/links: "en" or "es"

### `build_manifest_from_template` — Build manifest from template

Renders a ready-made transaction manifest template (see list_manifest_templates for ids and fields) with the given field values, validates it, and returns the manifest ready to be signed in the web console.

- `templateId` (string; required) — Template id from list_manifest_templates
- `values` (object; required) — Field values keyed by field key, e.g. { "from": "account_rdx1…", "amount": "10" }
- `network` ("mainnet" | "stokenet"; required, default: "mainnet") — Radix network: "mainnet" (production) or "stokenet" (testnet)
- `locale` ("en" | "es"; required, default: "en") — Language of the returned labels/links: "en" or "es"

### `build_fungible_token_manifest` — Build fungible token manifest

Builds the transaction manifest that creates a new fungible token on Radix with sensible defaults (owner: none, transfers open). The initial supply is deposited into the given account. For NFTs use build_nft_collection_manifest; for advanced role setups send the user to the console create-token tool.

- `accountAddress` (string; required) — Account that receives the initial supply
- `name` (string; required) — Token name, e.g. "My Token"
- `symbol` (string; required) — Ticker symbol, e.g. "MTK"
- `description` (string; optional) — Token description
- `iconUrl` (string; optional) — HTTPS URL of the token icon
- `initialSupply` (string; required) — Initial supply as decimal string, e.g. "1000000"
- `divisibility` (integer; required, default: 18) — Decimal places (0-18)
- `mintable` (boolean; required, default: false) — Allow anyone to mint more supply
- `burnable` (boolean; required, default: false) — Allow anyone to burn supply
- `network` ("mainnet" | "stokenet"; required, default: "mainnet") — Radix network: "mainnet" (production) or "stokenet" (testnet)
- `locale` ("en" | "es"; required, default: "en") — Language of the returned labels/links: "en" or "es"

### `build_nft_collection_manifest` — Build NFT collection manifest

Builds the transaction manifest that creates a new non-fungible resource (NFT collection) on Radix with a set of initial NFTs (name, description, image), sensible defaults (owner: none, transfers open). The NFTs are deposited into the given account. For custom data fields or advanced role setups, send the user to the console create-token tool.

- `accountAddress` (string; required) — Account that receives the minted NFTs
- `name` (string; required) — Collection name, e.g. "My Collection"
- `description` (string; optional) — Collection description
- `iconUrl` (string; optional) — HTTPS URL of the collection icon
- `nfts` (array; required) — Initial NFTs to mint into the collection
- `mintable` (boolean; required, default: false) — Allow minting more NFTs later
- `burnable` (boolean; required, default: false) — Allow burning NFTs
- `network` ("mainnet" | "stokenet"; required, default: "mainnet") — Radix network: "mainnet" (production) or "stokenet" (testnet)
- `locale` ("en" | "es"; required, default: "en") — Language of the returned labels/links: "en" or "es"

### `build_faucet_manifest` — Build a Stokenet faucet manifest

Builds the manifest that requests free test XRD from the Stokenet faucet and deposits it into an account. Stokenet only — mainnet has no faucet. Use it to fund a test account before other transactions.

- `accountAddress` (string; required) — Stokenet account to fund (account_tdx_2_…)
- `locale` ("en" | "es"; required, default: "en") — Language of the returned labels/links: "en" or "es"

### `build_deploy_package_manifest` — Prepare a Scrypto package deployment

Decodes a compiled .rpd package definition (Manifest SBOR) into the value needed to publish a Scrypto package, and returns the exact deploy_package call to run on the local radix-connector. The WASM is NOT handled here (too large for the agent) — the connector reads it from disk. Use this before deploy_package.

- `rpdHex` (string; required) — Hex-encoded contents of the compiled .rpd package-definition file
- `owner` ("none" | "allowAll"; required, default: "none") — Package owner: "none" (no owner) or "allowAll" (anyone can update it)
- `network` ("mainnet" | "stokenet"; required, default: "mainnet") — Radix network: "mainnet" (production) or "stokenet" (testnet)

### `validate_transaction_manifest` — Validate a transaction manifest

Statically validates Radix transaction manifest syntax with the Radix Engine Toolkit and reports the exact parse error if invalid.

- `manifest` (string; required) — Transaction manifest source text
- `network` ("mainnet" | "stokenet"; required, default: "mainnet") — Radix network: "mainnet" (production) or "stokenet" (testnet)

### `preview_transaction` — Preview (simulate) a transaction

Dry-runs a transaction manifest on the Gateway without any signature: returns the execution status, total fee in XRD, per-entity balance changes and engine logs. Always preview a manifest before asking the user to sign it.

- `manifest` (string; required) — Transaction manifest source text
- `network` ("mainnet" | "stokenet"; required, default: "mainnet") — Radix network: "mainnet" (production) or "stokenet" (testnet)
- `locale` ("en" | "es"; required, default: "en") — Language of the returned labels/links: "en" or "es"
- `blobs` (array; optional) — Hex-encoded blobs referenced by the manifest via Blob("<hash>"), e.g. package WASM. Required to dry-run a package deploy.

### `explain_manifest` — Explain a transaction manifest

Translates a Radix transaction manifest into a plain-language, step-by-step explanation (withdrawals, deposits, proofs, component calls, …) in English or Spanish. Use it to help the user understand what they are about to sign.

- `manifest` (string; required) — Transaction manifest source text
- `locale` ("en" | "es"; required, default: "en") — Language of the returned labels/links: "en" or "es"

### `decode_sbor` — Decode an SBOR payload

Decodes a hex-encoded SBOR payload (component state, events, schemas) into human-readable text. Scrypto vs Manifest SBOR is auto-detected from the prefix byte.

- `hex` (string; required) — Hex-encoded SBOR payload (starts with 5c for Scrypto, 4d for Manifest)
- `network` ("mainnet" | "stokenet"; required, default: "mainnet") — Radix network: "mainnet" (production) or "stokenet" (testnet)

### `convert_olympia_address` — Convert Olympia address

Converts a legacy Olympia address (rdx1… account or _rr1… resource) into its Babylon equivalent.

- `olympiaAddress` (string; required) — Olympia address (rdx1… or …_rr1…)
- `network` ("mainnet" | "stokenet"; required, default: "mainnet") — Radix network: "mainnet" (production) or "stokenet" (testnet)

### `inspect_address` — Inspect a Radix address

Offline analysis of any Radix bech32m address: entity type (account, resource, component, package, validator, …), network, and checksum validity. No network calls.

- `address` (string; required) — Any Radix address or transaction id

### `get_known_addresses` — Get well-known network addresses

Canonical well-known addresses of a network: XRD resource, faucet, native packages (account, pool, validator, …), system badges, plus this site's dApp definition + origin to pass to the wallet when signing. Use it to fill manifest addresses without guessing.

- `network` ("mainnet" | "stokenet"; required, default: "mainnet") — Radix network: "mainnet" (production) or "stokenet" (testnet)

### `setup_wallet_connector` — Set up local wallet signing

Explains how to install and use the LOCAL Radix signing connector (radix-connector-mcp) so the user can sign and submit transactions with their Radix Wallet. This HTTP server cannot sign (it is stateless); the local connector holds the wallet channel and the phone approves. Call this when the user wants to send/sign a transaction, stake, create a token, deploy, or log in with Radix.

- `client` ("claude-code" | "claude-desktop" | "cursor" | "antigravity" | "generic"; required, default: "generic") — Which MCP client the user runs, so the registration snippet matches it.
- `os` ("linux" | "macos" | "windows"; optional) — User OS, to show the matching prebuilt-binary installer. Omit to show all.
