Agent Skills

Give your AI coding agent full knowledge of Conduit RPC APIs with a single command.

Give your AI coding agent full knowledge of every Conduit RPC API with a single command. Once installed, your agent knows every endpoint, network, authentication flow, and payment pattern without any manual prompting.

Skills work with Claude Code, Codex, Cursor, VS Code Copilot, and any AI tool that supports the Agent Skills specification.

Install the skill

$npx skills add conduitxyz/skills --yes

This installs the conduit-rpc-gateway skill, which teaches your agent how to make paid JSON-RPC calls to 59+ networks on Conduit Nodes using MPP payment channels via Tempo.

SkillAuth methodBest for
conduit-rpc-gatewayMPP session (USDC on Tempo)Agents that need RPC access to any Conduit rollup without an API key

After installation, your agent will walk you through wallet setup and handle authentication automatically.

What’s included

The skill covers the full Conduit RPC gateway surface:

  • EVM JSON-RPC: Standard methods (eth_blockNumber, eth_getBalance, eth_call, eth_getLogs, eth_sendRawTransaction, and more) across all Conduit networks
  • 59+ Networks: Zora, Mode, BOB, Derive, Proof of Play Apex, and every network on the Conduit Hub
  • Payment flow: Automatic MPP session management — payment channels, signed vouchers, and settlement
  • Discovery: Programmatic network discovery via GET /openapi.json and GET /llms.txt
  • Error handling: Guidance for 402 Payment Required, 404 Not Found, and JSON-RPC error responses

The skill includes endpoint URLs, authentication patterns, code examples, CLI workflows, and network routing conventions.

How it works

The conduit-rpc-gateway skill uses pay-as-you-go payment channels instead of API keys. Your agent authenticates by opening a USDC payment channel on Tempo, then sends signed off-chain vouchers with each request — no gas fees after the first transaction.

Cost: $0.00005 per JSON-RPC call (~20,000 requests per 1 USDC).

Gateway URL: https://mpp.conduit.xyz

Route format: POST https://mpp.conduit.xyz/:network-id

Payment flow

  1. Your agent sends a JSON-RPC request to /:network-id
  2. The server returns 402 Payment Required with a WWW-Authenticate: Payment header
  3. The client opens a payment channel on-chain (first request only)
  4. Subsequent requests include a signed voucher — no gas, no block confirmation, instant
  5. Call session.close() to settle on-chain; unused deposit is refunded

Choose a client

Your agent will prompt you to choose a client before making any RPC requests:

  1. Tempo Wallet (Recommended) — Managed MPP client with built-in spend controls. No manual key management.
  2. mppx — Lightweight MPP client via npx. Manages keys internally.

Set up and fund your wallet

1

Install your chosen client

Tempo Wallet:

$curl -fsSL https://tempo.xyz/install | bash
$tempo wallet login

mppx:

$npx mppx account create
2

Fund your wallet

Your wallet needs USDC on Tempo. At $0.00005 per request, 1 USDC covers approximately 20,000 RPC calls.

3

Make your first request

With Tempo Wallet:

$tempo request -X POST https://mpp.conduit.xyz/zora-mainnet-0 \
> -H "Content-Type: application/json" \
> -d '{"jsonrpc":"2.0","method":"eth_chainId","params":[],"id":1}'

With mppx:

$npx mppx -X POST https://mpp.conduit.xyz/zora-mainnet-0 \
> -H "Content-Type: application/json" \
> -d '{"jsonrpc":"2.0","method":"eth_chainId","params":[],"id":1}'

Supported methods

MethodDescription
debug_getBadBlocksGet a list of bad blocks seen on the network
debug_getRawBlockGet the RLP-encoded block
debug_getRawHeaderGet the RLP-encoded block header
debug_getRawReceiptsGet the RLP-encoded transaction receipts
debug_getRawTransactionGet the RLP-encoded transaction
debug_traceCallTrace a call without creating a transaction
eth_accountsGet a list of addresses owned by the client
eth_blobBaseFeeGet the base fee per blob gas in wei
eth_blockNumberGet the latest block number
eth_callExecute a read-only contract call
eth_chainIdGet the chain ID
eth_coinbaseGet the client coinbase address
eth_createAccessListCreate an access list for a transaction
eth_estimateGasEstimate gas for a transaction
eth_feeHistoryGet fee history for a block range
eth_gasPriceGet the current gas price
eth_getAccountGet account information for an address
eth_getBalanceGet an address’s native token balance
eth_getBlockByHashGet block data by block hash
eth_getBlockByNumberGet block data by block number
eth_getBlockReceiptsGet all transaction receipts for a block
eth_getBlockTransactionCountByHashGet transaction count in a block by hash
eth_getBlockTransactionCountByNumberGet transaction count in a block by number
eth_getCodeGet contract bytecode
eth_getFilterChangesPoll a filter for new results
eth_getFilterLogsGet all logs matching a filter ID
eth_getLogsGet event logs matching a filter
eth_getProofGet account and storage Merkle proofs
eth_getRawTransactionByHashGet raw transaction data by hash
eth_getStorageAtGet a value from contract storage
eth_getTransactionByBlockHashAndIndexGet a transaction by block hash and index
eth_getTransactionByBlockNumberAndIndexGet a transaction by block number and index
eth_getTransactionByHashGet a transaction by hash
eth_getTransactionCountGet an address’s nonce
eth_getTransactionReceiptGet a transaction receipt
eth_getUncleByBlockNumberAndIndexGet an uncle block by number and index
eth_getUncleCountByBlockHashGet uncle count in a block by hash
eth_getUncleCountByBlockNumberGet uncle count in a block by number
eth_maxPriorityFeePerGasGet the current max priority fee per gas
eth_newBlockFilterCreate a filter for new blocks
eth_newFilterCreate a log filter
eth_newPendingTransactionFilterCreate a filter for pending transactions
eth_protocolVersionGet the Ethereum protocol version
eth_sendRawTransactionSubmit a signed transaction
eth_sendRawTransactionConditionalSubmit a signed transaction with conditions
eth_sendTransactionSubmit a transaction
eth_signSign data with an address
eth_signTransactionSign a transaction without submitting
eth_simulateV1Simulate transactions against virtual blocks
eth_subscribeSubscribe to real-time events
eth_syncingGet sync status
eth_uninstallFilterRemove a filter
eth_unsubscribeCancel a subscription
net_listeningCheck if the client is listening for connections
net_versionGet the network ID
web3_clientVersionGet the client version
web3_sha3Compute a Keccak-256 hash
alchemy_getTransactionReceiptsGet transaction receipts for a given block

Example networks

NetworkRoute
Zora Mainnet/zora-mainnet-0
Mode Mainnet/mode-mainnet-0
BOB/bob-mainnet-0
Derive/derive-mainnet-0
Proof of Play Apex/proof-of-play-apex-mainnet-0

Discover all available networks programmatically via /openapi.json or /llms.txt.

Programmatic usage

You can also use the mppx/client SDK to make paid RPC calls from your application:

1import { tempo } from 'mppx/client'
2import { createClient, http } from 'viem'
3import { privateKeyToAccount } from 'viem/accounts'
4import { tempo as tempoChain } from 'viem/chains'
5
6const account = privateKeyToAccount(process.env.PRIVATE_KEY as `0x${string}`)
7const client = createClient({ account, chain: tempoChain, transport: http() })
8const session = tempo.session({ client, maxDeposit: '1' })
9
10const response = await session.fetch(
11 'https://mpp.conduit.xyz/zora-mainnet-0',
12 {
13 method: 'POST',
14 headers: { 'Content-Type': 'application/json' },
15 body: JSON.stringify({
16 jsonrpc: '2.0',
17 method: 'eth_blockNumber',
18 params: [],
19 id: 1,
20 }),
21 }
22)
23
24const data = await response.json()
25console.log(data)
26
27// Close the session to settle on-chain; unused deposit is refunded
28await session.close()

Never hardcode private keys. Always read them from environment variables or a secure store.

A single payment session can make calls across different networks — the channel is opened once, and subsequent requests to any network use the same signed vouchers.

How skills work

Agent Skills follow an open specification. A skill is a set of Markdown files that contain structured knowledge — API docs, code examples, decision trees, and rules — that an AI agent reads and follows.

When you run npx skills add, the skill files are added to your project. Your AI agent reads these files and uses them as context when writing code or making API requests.

Agent SkillsMCP Server
What it doesTeaches the agent how to use APIsGives the agent tools to call APIs directly
When it’s usedWhen the agent writes code that uses Conduit APIsWhen the agent needs to query live blockchain data
OutputThe agent writes code using Conduit APIsThe agent gets blockchain data back in the conversation

Next steps