robinhood-chain-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| chain_infoA | Get Robinhood Chain network identity and live head: chain ID, RPC, explorer, native currency, latest block, gas price. |
| get_blockB | Get a block by number ('latest', 'earliest', a decimal height, or a hex height). |
| gas_priceA | Current gas price, with an EIP-1559 fee breakdown when the chain provides one. |
| estimate_gasB | Estimate gas for a call without sending it. |
| get_balanceC | Native ETH balance for an address. |
| get_nonceC | Transaction count (nonce) for an address. |
| is_contractC | Whether an address holds contract code, and how much. |
| get_token_balanceB | ERC-20 balance for an address. Accepts a known symbol (e.g. USDG) or a token address. |
| list_token_holdingsA | All token balances held by an address, via the explorer index. Mainnet only. |
| read_contractA | Call a read-only contract function using a human-readable signature, e.g. 'function balanceOf(address) view returns (uint256)'. |
| raw_callA | Low-level eth_call with hand-built calldata. Returns raw returndata, and identifies the revert selector when the call reverts — useful for probing whether a function exists on a Diamond. |
| build_transactionA | Build an UNSIGNED transaction for external signing. This server never holds keys and cannot broadcast. |
| get_transactionC | Get a transaction by hash. |
| get_receiptC | Get a transaction receipt, including status and logs. |
| address_transactionsB | Recent transactions for an address, via the explorer index. Mainnet only. |
| get_logsC | Query event logs by address and/or topics. |
| list_tokensA | List ERC-20 tokens on Robinhood Chain, most-held first, via the explorer index. Mainnet only. |
| known_assetsA | Curated Robinhood Chain assets with verified metadata, including which support EIP-3009 / EIP-2612. |
| token_infoA | Detailed token info from the explorer: supply, holders, market data. Mainnet only. |
| chain_statsA | Explorer-level chain statistics: block time, gas prices, total transactions, market data. Mainnet only. |
| probe_token_capabilitiesA | Detect whether a token supports EIP-3009 (gasless transferWithAuthorization) and EIP-2612 (permit). Works correctly on EIP-2535 Diamonds, where scanning proxy bytecode reports false negatives. |
| usdg_infoA | USDG (Global Dollar) details: address, decimals, supply, and its verified EIP-712 domain. |
| check_authorizationA | Check whether an EIP-3009 authorization nonce has already been used. EIP-3009 nonces are random bytes32, not sequential. |
| build_transfer_authorizationB | Build the EIP-712 payload for a gasless EIP-3009 transfer, ready for external signing. Returns the typed-data struct — this server never signs. |
| arb_block_numberA | L2 block number from the ArbSys precompile. This is the value eth_blockNumber returns — distinct from the block.number a contract observes. |
| block_number_contextA | Explain the three different 'block numbers' on this chain: the L2 height from eth_blockNumber, the L1 height a contract sees via block.number, and ArbSys.arbBlockNumber(). Getting these confused is the most common Orbit integration bug. |
| arb_chain_idA | Chain ID reported by the ArbSys precompile, cross-checked against eth_chainId. |
| arbos_versionA | ArbOS version running on this chain. |
| arb_gas_pricesA | Full gas price breakdown from ArbGasInfo: per-L2-tx, per-L1-calldata-byte, per storage allocation, and the base fee components. |
| arb_l1_base_feeA | Current L1 base fee estimate used for data-availability pricing. |
| arb_min_gas_priceB | Minimum gas price (floor) enforced by the chain. |
| arb_gas_accountingA | Speed limit, gas pool size, and max transaction gas from ArbGasInfo. |
| arb_l1_pricingB | L1 pricing internals: surplus, per-batch gas charge, and the amortized cost cap. |
| estimate_l1_componentB | Estimate the L1 data-availability component of a transaction's cost via the NodeInterface precompile — the part a plain eth_estimateGas does not show. |
| precompile_statusA | Which Arbitrum precompiles are actually usable on this chain. Probes each with a real call rather than trusting that a canonical address implies a working precompile. |
| build_l2_to_l1_withdrawalA | Build an UNSIGNED ArbSys.withdrawEth call to start an L2->L1 ETH withdrawal. Returns calldata only; this server never signs. Note the multi-day challenge period before the L1 claim can be executed. |
| keccak_hashB | keccak256 of a UTF-8 string or hex bytes. |
| function_selectorA | Compute the 4-byte selector for a function signature, e.g. 'transfer(address,uint256)'. |
| event_topicA | Compute the topic0 hash for an event signature, e.g. 'Transfer(address,address,uint256)'. |
| checksum_addressB | Validate an address and return its EIP-55 checksummed form. |
| encode_abiA | ABI-encode values against a parameter signature, e.g. params='address,uint256'. |
| decode_abiC | ABI-decode a hex blob against a parameter signature. |
| decode_calldataA | Decode calldata against a known function signature, splitting selector from arguments. |
| to_weiC | Convert a decimal amount to base units without floating-point rounding. |
| from_weiC | Convert base units to a decimal amount. |
| hex_convertC | Convert between hex, decimal, and UTF-8 string. |
| random_nonceA | Generate a random 32-byte nonce, suitable for an EIP-3009 authorization. EIP-3009 nonces are random, not sequential. |
| token_metadataA | Read name, symbol, decimals and total supply directly from a token contract. Tolerates tokens that return bytes32 instead of string. |
| token_allowanceC | ERC-20 allowance an owner has granted a spender. |
| multi_token_balanceA | Read one address's balance across several tokens in a single Multicall3 round-trip. |
| build_token_transferA | Build UNSIGNED calldata for an ERC-20 transfer. Amount is parsed against the token's real decimals; over-precise amounts are refused rather than truncated. |
| build_token_approveB | Build UNSIGNED calldata for an ERC-20 approve. Set unlimited=true for the max-uint256 allowance. |
| decode_transfer_logC | Decode an ERC-20 Transfer event log into from/to/value. |
| token_transfer_historyC | ERC-20 transfer events involving an address, read from chain logs rather than the explorer, so it works on any network. |
| nft_ownerC | ERC-721 ownerOf for a token ID. |
| nft_token_uriC | ERC-721 tokenURI, with inline data: URIs decoded when present. |
| nft_balanceB | ERC-721 balanceOf — how many NFTs from a collection an address holds. |
| nft_collection_infoC | ERC-721 collection name, symbol, and total supply where exposed. |
| erc1155_balanceC | ERC-1155 balanceOf for an (account, id) pair. |
| detect_token_standardB | Detect whether a contract is ERC-20, ERC-721, or ERC-1155, using ERC-165 supportsInterface with an ERC-20 fallback. |
| address_nftsC | NFTs held by an address, via the explorer index. Mainnet only. |
| verify_authorization_signatureA | Verify an EIP-3009 signature offline: does it recover to the claimed signer, for this exact token and chain? Catches wrong-domain and cross-chain-replay signatures before they cost gas. |
| build_receive_authorizationA | Build the EIP-712 payload for receiveWithAuthorization. Unlike transferWithAuthorization, only the payee may submit it — which closes the front-running window where anyone can relay a valid authorization. |
| build_cancel_authorizationB | Build the EIP-712 payload to cancel an unused EIP-3009 authorization before it can be redeemed. |
| build_permitB | Build an EIP-2612 permit payload (gasless approval). Requires the token's current nonce, which is read on-chain. |
| build_transfer_authorization_calldataC | Assemble the final transferWithAuthorization CALLDATA from a signed authorization, ready for a relayer to submit. |
| list_eip3009_assetsA | Assets on this chain known to support EIP-3009, and therefore usable for gasless, relayer-submitted payments. |
| authorization_digestA | Compute the EIP-712 digest a wallet will be asked to sign for a given authorization, without signing it. |
| verify_domain_separatorA | Recompute a token's EIP-712 DOMAIN_SEPARATOR from its stored domain and compare it against the live contract. A mismatch means the contract was upgraded and stored signatures would be rejected. |
| address_infoC | Explorer summary for an address: balance, contract status, verification, transaction count. |
| address_token_transfersC | Token transfers involving an address, from the explorer index. |
| address_internal_transactionsB | Internal transactions (contract-initiated value transfers) for an address. |
| contract_sourceB | Verified source code and ABI for a contract, if the explorer has it. |
| contract_abiA | Fetch just the ABI of a verified contract — feed it to read_contract to call methods without knowing signatures in advance. |
| explorer_searchB | Search the explorer for an address, token, transaction, or block. |
| token_holdersC | Largest holders of a token, from the explorer index. |
| token_transfersC | Recent transfers of a specific token. |
| latest_blocksC | Most recent blocks with transaction counts and gas usage. |
| block_transactionsC | All transactions in a given block, from the explorer index. |
| verified_contractsC | Contracts with verified source on this chain — a quick map of what is actually deployed and public. |
| x402_network_idA | The CAIP-2 network identifier for this chain, as x402 payloads must express it. |
| x402_build_payment_requirementsC | Build the paymentRequirements object a resource server returns in its HTTP 402 response. |
| x402_build_payment_payloadB | Assemble the x402 paymentPayload from a signed EIP-3009 authorization, ready to send in the X-PAYMENT header. |
| x402_check_facilitatorA | Query an x402 facilitator's /supported endpoint and report whether it can settle for this chain. Defaults to the hosted facilitator, which does not support Robinhood Chain. |
| x402_decode_payment_headerA | Decode a base64 X-PAYMENT header into its payload, and sanity-check it against this chain. |
| verify_stock_tokenA | Determine whether a contract is a GENUINE Robinhood Stock Token or a ticker-squatting copy. The explorer lists multiple contracts per ticker and Robinhood publishes no registry to check against; this probes uiMultiplier(), which only the real tokens implement. |
| stock_token_infoA | Full state of a Robinhood Stock Token: metadata, the corporate-action multiplier, raw vs multiplier-adjusted supply, and every pause flag. |
| stock_balanceA | Balance of a Stock Token, reported BOTH raw and multiplier-adjusted. After any corporate action these differ, and the adjusted figure is the one representing economic exposure — reading balanceOf alone is the standard integration bug. |
| check_corporate_actionA | Check for a scheduled dividend or split on a Stock Token: the pending multiplier, when it takes effect, and how it will change holdings. Balances will not move — the multiplier does. |
| check_address_blockedA | Check whether an address is blocked by the Stock Token AccessControlsRegistry. Blocked addresses cannot transfer, so a transfer that looks fine will revert. |
| stock_token_registryB | The Stock Token AccessControlsRegistry: address, pause state, and its role. It also serves as the EIP-1967 beacon behind every Stock Token proxy. |
| list_stock_tokensA | Find genuine Robinhood Stock Tokens by scanning explorer-indexed tokens and keeping only those implementing uiMultiplier(). There is no on-chain enumeration, so this is a scan, not a registry read. |
| stock_token_termsC | Legal terms URI published on-chain by a Stock Token. These are securities issued by Robinhood Assets (Jersey) Limited and are restricted in several jurisdictions. |
| uniswap_contractsA | Uniswap v4 deployment addresses on Robinhood Chain, each checked for deployed code. Reports which periphery contracts are actually usable. |
| uniswap_pool_idA | Compute the Uniswap v4 poolId from a PoolKey. Currencies are sorted automatically — an unsorted key yields a different, non-existent poolId, which is the usual reason a pool 'cannot be found'. |
| uniswap_pool_stateA | Read a v4 pool's slot0 via StateView: current sqrt price, tick, protocol fee and LP fee. Accepts a poolId, or a PoolKey to derive one. |
| uniswap_pool_liquidityC | Current in-range liquidity for a v4 pool. |
| uniswap_fee_growthB | Global fee growth accumulators for a v4 pool — the basis for computing accrued LP fees. |
| uniswap_find_poolB | Search for an initialised v4 pool across the standard fee tiers for a token pair, since v4 pools are not enumerable on-chain. |
| price_feed_registryA | Configuration of the PriceFeedRegistry: feed decimals, default staleness bound, and L2 sequencer-uptime protection status. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ExpertVagabond/robinhood-chain-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server