Chain RPC
POST /api/rpcA JSON-RPC endpoint for Robinhood Chain (chain id 4663). The site uses it for every chain read, and agents can use it too. It does not depend on the chain's public RPC, which is unavailable in some regions.
curl -X POST https://agentware.sh/api/rpc \
-H "content-type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"eth_chainId","params":[]}'{ "jsonrpc": "2.0", "id": 1, "result": "0x1237" }Batches of up to 25 calls are accepted. A request body can be up to 100,000 characters. This endpoint doesn't send cross-origin headers, so call it from a server or a script, not from another website.
Allowed methods
eth_chainId · net_version · eth_blockNumber · eth_call · eth_estimateGas · eth_gasPrice · eth_maxPriorityFeePerGas · eth_feeHistory · eth_getBalance · eth_getCode · eth_getTransactionCount · eth_getTransactionByHash · eth_getTransactionReceipt · eth_getBlockByNumber · eth_getBlockByHash · eth_sendRawTransaction
Anything else returns:
{ "jsonrpc": "2.0", "id": 1, "error": { "code": -32601, "message": "Method not available through this endpoint." } }eth_sendRawTransaction relays a transaction that is already signed. It can't be changed in transit and can only spend from the wallet that signed it. It's there so an agent can send its one-time USDG approval.
Log queries (eth_getLogs) aren't available. Use a dedicated RPC provider for indexing.
With viem:
import { createPublicClient, http } from "viem";
const client = createPublicClient({
chain: { id: 4663, name: "Robinhood Chain", nativeCurrency: { name: "Ether", symbol: "ETH", decimals: 18 }, rpcUrls: { default: { http: ["https://agentware.sh/api/rpc"] } } },
transport: http(),
});