The agent layer for Radix
The clearest, safest way for AI agents to read, understand, and build transactions on the Radix network.
Radix transaction manifests are human- and machine-readable, statically analyzable, and free to simulate. An agent can explain exactly what a transaction will do before a human signs it.
Why Radix for agents
Readable transactions
Manifests are typed, bash-like instructions — an agent can parse, check and explain intent directly.
Static analysis
Worktop simulation and type checks catch mistakes before a human is ever asked to sign.
Free preview
Every transaction can be simulated against the Gateway — fees, balance changes, success — so an agent never acts blind.
Native resources
Tokens are first-class on the ledger, not bespoke contracts — fewer edge cases, less to hallucinate.
Connect
Keyless · the agent never signs · no personal data or tracking
https://mcp.ai.radixscan.io/mcp https://mcp.ai.radixscan.io/sse Keyless — no API key, no signup.
Client setup snippets
claude mcp add --transport http radixscan https://mcp.ai.radixscan.io/mcp
{
"mcpServers": {
"radixscan": {
"type": "streamable-http",
"url": "https://mcp.ai.radixscan.io/mcp"
}
}
} Same JSON, dropped into each client config — Cursor: ~/.cursor/mcp.json · Cline/Roo: their mcp.json · Claude Desktop: claude_desktop_config.json
{
"mcpServers": {
"radixscan": {
"serverUrl": "https://mcp.ai.radixscan.io/sse"
}
}
} Config file: ~/.codeium/windsurf/mcp_config.json
Windsurf connects to remote servers via serverUrl (SSE transport).
{
"servers": {
"radixscan": {
"type": "http",
"url": "https://mcp.ai.radixscan.io/mcp"
}
}
} Config file: .vscode/mcp.json
The top-level key is "servers" (not "mcpServers").
MCP config formats change between client releases — verify each snippet against the client's current docs before relying on it.
AGENTS.md — drop into your project root
Project-level guidance so your coding agent uses the Radix tools correctly — keyless, never signs, verifies addresses before using them. Pair it with the MCP setup above. Agents that follow the AGENTS.md convention read it from your repo root automatically — no extra config. (Some use a different filename, e.g. CLAUDE.md — the content is the same.)
# Radix — via the RadixScan Agent Layer
This project can read the Radix ledger and build Radix transactions through the
RadixScan MCP server. The server is KEYLESS: it reads state and builds, validates
and previews transaction manifests, but never signs or submits. Signing always
happens in the human's Radix Wallet.
Server: https://mcp.ai.radixscan.io/mcp (docs: https://ai.radixscan.io)
## Setup
Add the MCP server to your client (see https://ai.radixscan.io#connect). Claude Code:
claude mcp add --transport http radixscan https://mcp.ai.radixscan.io/mcp
## Rules
- Never ask for, store, or use a private key or seed phrase. The server cannot
sign — do not attempt to, and never claim you can submit a transaction.
- The network (mainnet or stokenet) is inferred from the address you pass;
address-less tools take an explicit network argument. Never mix networks.
- Never invent or guess an address. Resolve and verify every address on-ledger
(radix_resolve_address, radix_get_*) before using it in a manifest. For a
well-known token or dApp you only know by name, get its canonical address from
radix_lookup_entity rather than typing one from memory.
- When a tool returns an error, interpret it for the human, explain the likely
cause, and propose a fix — then re-run the checks. Reporting an error is not
permission to proceed: never continue past a failed validation or preview.
## Building a transaction
For anything beyond a single simple transfer, first outline the planned steps in
plain language and get the human's approval before you start building.
Pick the right builder:
- Standard token transfer → radix_build_transfer (one call).
- Structured multi-step manifest → radix_build_manifest (a typed step array, no
hand-written manifest text).
- Template workflow (radix_manifest_workflow, then fill a template's {PLACEHOLDER}
slots) only when you need to understand or adapt an unfamiliar pattern.
Then always, in this order:
1. radix_validate_manifest — if it fails, stop and report. Never present or hand
off an unvalidated manifest.
2. radix_preview_transaction — if the preview fails, stop and report.
3. Show the human a plain-language summary of exactly what it will do, and
confirm the amounts and recipients before going further.
4. radix_request_signature — the human signs in their Radix Wallet (keyless).
5. radix_signature_status — poll until the outcome is final.
When several transactions are in flight, keep each pending request's id and its
approved summary until radix_signature_status reports it final, so you report the
right outcome for each.
## Available tools
### Read
- `radix_resolve_address` — Identify any address — what kind of thing it is and its key metadata.
- `radix_get_account` — All token and NFT balances held by an account.
- `radix_get_resource` — A token or NFT's metadata, supply, and who controls it.
- `radix_get_transaction` — A full, readable breakdown of a single transaction.
- `radix_list_transactions` — Recent transactions — network-wide or per entity, with rich filters.
- `radix_get_validator` — A validator's stake, fee, uptime and details.
- `radix_get_validator_list` — The active validator set, ranked — for picking or comparing.
- `radix_get_blueprint_interface` — The callable interface (the "ABI") of a package or component.
- `radix_get_component_state` — The live, decoded on-ledger state of a component.
- `radix_get_key_value_store` — The entries behind a component's key-value store.
- `radix_get_nft` — An NFT collection's ids, per-NFT data and current holder.
- `radix_get_resource_holders` — The top holders of any token or NFT — the reverse of an account lookup.
- `radix_find_entities_by_badge` — Everything a badge controls on-ledger — the reverse of role assignments.
### Build & simulate
- `radix_build_transfer` — Build a token / NFT transfer manifest in one call.
- `radix_build_manifest` — Build any manifest from a typed step array — no hand-written text.
- `radix_validate_manifest` — Parse and statically check any manifest, including external ones.
- `radix_preview_transaction` — Free Gateway preview — fees, balance changes, success — without signing.
- `radix_explain_manifest` — Turn a manifest into a plain-language, step-by-step reading.
### Manifest docs
- `radix_manifest_workflow` — Orientation: networks, addresses, and the build → sign → submit lifecycle.
- `radix_manifest_instructions` — List every manifest instruction with a one-line summary.
- `radix_manifest_instruction` — One manifest instruction in depth — syntax, arguments, examples.
- `radix_manifest_templates` — Ready-made manifest templates (transfer, stake, swap, mint…).
- `radix_manifest_template` — One template body with {PLACEHOLDER} slots to fill in.
### Ecosystem
- `radix_list_ecosystem_services` — Directory of other agent-facing Radix services for what this server can't do.
- `radix_lookup_entity` — Resolve a well-known token or dApp by name to its canonical address.
### Signing
- `radix_request_signature` — Hand a built transaction to a human to sign in their Radix Wallet.
- `radix_signature_status` — Check whether a signature request is pending, signed or rejected.
Full machine-readable docs: https://ai.radixscan.io/llms-full.txt
Tools implemented
The Read+Build MCP server exposes focused, network-scoped tools over the Model Context Protocol. Building is keyless; signing stays human-in-the-loop.
Browse all 27 tools — Read · Build & simulate · Manifest docs · Ecosystem · Signing
Pick a tool to read what it does — each with an example prompt you'd give your agent.
Read
radix_resolve_addressIdentify any address — what kind of thing it is and its key metadata.Paste any Radix address and learn its type (account, token, component, validator, package, NFT, …) plus core metadata. Components also reveal the blueprint they came from; pools show their pool unit and contents; internal vaults resolve to their owner. The place to start when all you have is an address.
Example What is component_rdx1cq… — a pool, an oracle, something else?
radix_get_accountAll token and NFT balances held by an account.The full holdings of one account — fungible balances and the NFTs it owns. Empty balances are hidden by default. The everyday “what's in this wallet?” lookup.
Example What does account_rdx12… currently hold?
radix_get_resourceA token or NFT's metadata, supply, and who controls it.Name, symbol, icon, total supply and divisibility of a resource — plus its authorities (who may mint, burn, freeze or recall it, and the badge that gates each) and neutral factual flags (fixed supply, mintable, freezable…). Objective ledger facts, never a safety verdict.
Example Is this token's supply fixed, and who is allowed to mint it?
radix_get_transactionA full, readable breakdown of a single transaction.For one committed transaction: status, fee, timestamp and type; the net balance change per account; and the decompiled, human-readable manifest. Events and resource symbols are opt-in. Committed transactions never change, so results are cached permanently.
Example Who paid whom in transaction txid_…, and what fee did it cost?
radix_list_transactionsRecent transactions — network-wide or per entity, with rich filters.The newest committed transactions, optionally scoped to one address and filtered exactly like the RadixScan dashboard: by type, accounts withdrawn-from / deposited-to, badges, resources, affected entities and a time window. Returns a compact summary per transaction; drill in with radix_get_transaction.
Example Show all transactions of this component in the last 24 hours.
radix_get_validatorA validator's stake, fee, uptime and details.Registration, effective fee, total XRD staked, uptime, website and the LSU / claim-NFT resources for one validator. Detailed mode adds the description, icon and current owner.
Example What fee and uptime does validator_rdx1s… have?
radix_get_validator_listThe active validator set, ranked — for picking or comparing.Every active validator on a network with rank, fee percentage and uptime. This is an address-less tool, so it takes an explicit network argument; the basis for deciding where to stake.
Example Which validators have the best uptime and a low fee?
radix_get_blueprint_interfaceThe callable interface (the "ABI") of a package or component.Every function and method of a blueprint with its signature and access requirement — public versus role-protected, and which badge a protected call needs — plus the defined roles. Concise by default; ask for the full type trees when you need to build a typed call. Use it before building a manifest to know which calls a component supports and which the caller may actually invoke.
Example What methods can I call on this pool, and which need a badge?
radix_get_component_stateThe live, decoded on-ledger state of a component.A component's current stored state, decoded with field names — an oracle's prices, a dApp's configuration, an account's deposit rules. Works for components, pools, validators, accounts and access controllers, and reports who holds each role. Very large states are summarised to their top-level field names.
Example What prices are stored inside this oracle right now?
radix_get_key_value_storeThe entries behind a component's key-value store.Reads a Scrypto KeyValueStore — the storage a component points at, e.g. an oracle's actual price entries. Page through all entries, or look up specific keys (address- or string-keyed). Values come decoded. The most mutable ledger state, so it is never cached.
Example List the individual price entries this oracle keeps.
radix_get_nftAn NFT collection's ids, per-NFT data and current holder.The non-fungibles of a resource. Without ids: a page of the collection’s local ids and total count. With ids: the decoded data of those NFTs, and optionally who currently owns each. For one account’s NFTs use radix_get_account instead.
Example What traits does NFT #42 have, and who owns it now?
radix_get_resource_holdersThe top holders of any token or NFT — the reverse of an account lookup.Every holder of a resource, sorted by holding descending, so the first page is the top holders. Works for fungibles (each holder's amount) and NFTs (each holder's count); reports the total and pages deeper. Backed by an optional gateway extension.
Example Who are the biggest holders of this token?
radix_find_entities_by_badgeEverything a badge controls on-ledger — the reverse of role assignments.Given a badge resource (optionally one specific NFT id), every component, resource, pool or locker that names it as a role requirement — i.e. everything the badge holder can administer — each with its kind and, where available, blueprint and name.
Example Which components does this admin badge control?
Build & simulate
radix_build_transferBuild a token / NFT transfer manifest in one call.Goal-oriented: describe the transfer and get a complete manifest (lock_fee, withdraw, deposit) for fungibles and/or NFTs. No manifest text to write by hand.
Example Build a manifest to send 100 XRD from account A to account B.
radix_build_manifestBuild any manifest from a typed step array — no hand-written text.Takes a strict, typed array of steps and returns a canonical, validated manifest plus diagnostics. The backend generates the syntax, so an agent never hand-writes — and never mistypes — manifest text.
Example Withdraw 200 XRD, stake to this validator, deposit the stake units.
radix_validate_manifestParse and statically check any manifest, including external ones.Runs a given manifest — even one you didn't build here — through the Radix Engine Toolkit for parsing and static checks. Read-only, accepts raw text: the sanity check before anything is signed.
Example Is this manifest someone sent me actually valid?
radix_preview_transactionFree Gateway preview — fees, balance changes, success — without signing.Simulates a transaction against the live Gateway with no signing and no cost: estimated fee, net balance changes and whether it would succeed, with a timestamp and validity window. So an agent never recommends a transaction blind.
Example If I run this swap, what would I receive and what is the fee?
radix_explain_manifestTurn a manifest into a plain-language, step-by-step reading.The one prose tool: reads a manifest back in plain language, step by step — the basis for the confirmation a human sees before signing.
Example In plain English, what will this manifest do to my account?
Manifest docs
radix_manifest_workflowOrientation: networks, addresses, and the build → sign → submit lifecycle.The starting point for building transactions: how networks and addresses work and the full build → validate → preview → sign → submit lifecycle.
Example How does a Radix transaction get from draft to committed?
radix_manifest_instructionsList every manifest instruction with a one-line summary.A catalogue of all manifest instructions, each with a short summary — the index for learning the manifest language.
Example What instructions can a manifest contain?
radix_manifest_instructionOne manifest instruction in depth — syntax, arguments, examples.The full reference for a single instruction: its syntax, arguments and worked examples.
Example Show me exactly how TAKE_FROM_WORKTOP works.
radix_manifest_templatesReady-made manifest templates (transfer, stake, swap, mint…).A library of ready-made templates — transfer, stake, unstake, claim, mint, burn, swap — plus the {PLACEHOLDER} convention for filling them in.
Example Is there a ready-made template for unstaking?
radix_manifest_templateOne template body with {PLACEHOLDER} slots to fill in.The body of a single template with its placeholder slots — fill the slots with concrete values, then validate the result.
Example Give me the stake template so I can fill in amount and validator.
Ecosystem
radix_list_ecosystem_servicesDirectory of other agent-facing Radix services for what this server can't do.A directory of other agent-facing Radix services — e.g. DEX-aggregator MCP servers — for capabilities this server doesn't cover, such as resolving a token swap. Each entry lists the networks it supports. Informational only — a listing is not an endorsement.
Example Is there a service that can quote a token swap for me?
radix_lookup_entityResolve a well-known token or dApp by name to its canonical address.The inverse of resolve-address: for when you have a name but not an address. A small, curated register maps well-known Radix entities (tokens, dApp components) to their canonical on-ledger addresses, so an agent never has to guess one. Takes an explicit network and returns every matching candidate. Curated and informational — a result is the well-known address, not an endorsement or a safety verdict; confirm it on-ledger before signing.
Example What is the resource address of XRD on mainnet?
Signing human-in-the-loop
radix_request_signatureHand a built transaction to a human to sign in their Radix Wallet.Returns a short URL; the sign page shows a plain-language summary plus a QR code / wallet deep link, and the human reviews and signs in their own Radix Wallet. Any account lock_fee is stripped automatically (the wallet adds its own fee). Keys never reach the agent. Stokenet always; mainnet when the deployment enables it.
Example Send this transaction to me to approve on my phone.
radix_signature_statusCheck whether a signature request is pending, signed or rejected.Poll a signature request by id: pending, committed (with the transaction intent hash), rejected or expired. On commit, the transaction is warmed into the cache so radix_get_transaction is immediate.
Example Did the human sign yet? If so, give me the transaction hash.
Companion community
RadixScan is runtime infrastructure — it reads the live ledger and builds transactions. If your agent also writes Radix software (Scrypto blueprints, dApps, radix-web3.js / TypeScript tooling), pair it with a build-time knowledge skill.
radix-skills
A community Agent Skill with reference guides for Scrypto, manifests, Gateway and wallet / ROLA flows, grounded in the radixdlt-scrypto and radix-web3.js source. Maintained independently.
npx skills add xstelea/radix-skills --skill radix Principles
- Keyless read & build — the agent never holds private keys
- Signing is human-in-the-loop, non-custodial (Radix Wallet)
- Free preview before any recommendation
- Every tool is explicitly scoped to mainnet or stokenet
- No personal data, no user tracking — only anonymous, aggregate operational metrics (no IP, user, or address)