RQM Relay

Build with RQM Relay

Give your software a specialist step.

Find APIs and MCP servers across providers

Search POST /v1/listings/search or use the free relay_search_listings MCP tool. Listings show provider claims, provenance, authentication, prices, freshness, and whether to connect directly or use an approved Relay purchase route.

The public buyer kit includes npm run discover -- "your task". Select an approved listing with RQM_RELAY_LISTING_ID; free preflight loads no wallet. A paid purchase requires an explicit maximum, environment-only key, and the original private recovery file.

Outside-provider purchasing requires individual activation. One payment covers provider price plus max(0.002 USDC, 5%). Service owners can apply here.

Call RQM from your API, MCP server, or agent to assess a quantum program, analyze a signal capture, or validate robotics data. Use the returned verdict, measurements, or artifact in your next decision without implementing the specialist analysis inside your own service.

Try an example without connecting a wallet

Start with a coordinated I/Q capture using the public buyer examples. Use Node.js 22. No wallet or private repository is needed for the free check.

git clone https://github.com/RQM-Technologies-dev/rqm-relay-examples.git
cd rqm-relay-examples
npm ci
npm run preflight

Exit 0 means the protocol passed and public admission is open; exit 2 means it passed but admission is restricted or paused. Exit 1 means the check is incomplete. This checks a quote and unpaid challenge, not a computed result.

Next, choose a service and replace the sample with your task data. Each service page includes its input format, expected result, supported checks, and free quote.

Choose how your software connects

Use Relay’s REST API to request a quote, authorize one run, and retrieve its result and receipt. For paid tools inside an MCP client, use RQM Jobs MCP. Relay’s own MCP tools support discovery and quoting.

Discovery and quotes are free. Check the current availability before starting a paid run.

Run a paid task with the TypeScript client

The src/purchase.ts client requests a quote, checks the x402 payment challenge, authorizes the quoted charge, and retrieves the result and signed receipt. Set your own spending ceiling and supply your buyer key privately in the process environment.

# Use a different private directory for each intended new purchase.
mkdir -m 700 ./relay-purchase
export RQM_RELAY_RECOVERY_FILE="$PWD/relay-purchase/recovery.json"
export RQM_RELAY_CAPABILITY_ID=diagnose-multichannel-capture-v1
# Example spending ceiling. Review a current quote before choosing yours.
export RQM_RELAY_MAXIMUM_PRICE_USD=0.007000
export RQM_RELAY_INPUT_JSON="$(cat fixtures/multichannel-input.json)"
# Set RQM_RELAY_BUYER_PRIVATE_KEY privately in the process environment.
npm run purchase

# Resume the same purchase with its existing recovery file.
unset RQM_RELAY_BUYER_PRIVATE_KEY
npm run recover

The client saves the original signed request in a private recovery file before sending. It retries the same purchase for up to 45 minutes per invocation, including after quote expiry. If it stops, rerun with the same file to resume without signing again. Keep that file out of version control and securely remove it after verifying the final result and any refund. Use a new directory only for an intentional new purchase.

Let your agent discover a service through Bazaar

Set RQM_RELAY_PROBLEM instead of RQM_RELAY_CAPABILITY_ID in the buyer example to search for a compatible Relay offer. Supply your task input and spending limit. If no compatible listing is found, the client stops before authorizing payment.

The service manifest contains purchase URLs, schemas and quote instructions. Marketplace indexing is separate from this manifest and may vary by service.

Keep your results and purchases recoverable

The buyer saves the verified result and receipt privately as verified-result.json next to the recovery file. Use npm run recover to resume. It never creates another purchase.

An accepted run has its own result-access token and receipt. Keep the token private. If a response is lost or confirmation takes longer, resume the original request instead of paying again.

Payment retries and authenticated results

Keep the original quote, input, idempotency key, and PAYMENT-SIGNATURE. If settlement is pending or a response is lost, retry the same request with the original signature, including after its expiry. Respect Retry-After. Once accepted, use the returned bearer token for status, result, and receipt retrieval.

Prices and usage limits

Your quote shows the service price, Relay fee, and total in Base mainnet USDC before payment. The default Relay fee is 5%, with a 0.002-USDC minimum. Wallet gas is separate.

Your payment authorizes the exact quoted amount. Across Jobs and Relay, each payer may spend up to 5 USDC or submit 100 jobs per UTC day. Shared daily capacity is 20 USDC or 500 jobs, with two concurrent executions. New runs may pause when capacity or the execution budget is reached.

Refunds and support

A collected payment for a failed execution receives one full USDC refund, including the Relay fee, to the paying wallet after reconciliation. Chain confirmation can delay a refund. An uncertain execution stays in recovery until its outcome is established.

For help, open a support issue with the example version, capability ID, Node version and public error code. Never publish private keys, payment signatures, result-access tokens, or confidential task data.