---
name: gateway.spraay.app
description: gateway.spraay.app is a multi-purpose API gateway exposing four distinct capabilities: web search with synthesized answers, EVM wallet portfolio lookups, Bittensor AI model discovery, and RTP robot discovery. It serves as a single access point for agents needing current web information, on-chain token data, or AI/automation resource catalogs. Each skill is a single-shot query returning structured data snapshots.
host: gateway.spraay.app
---

# gateway.spraay.app

Spraay Gateway aggregates several unrelated but agent-useful data sources under one host: a web search endpoint, a multi-chain EVM portfolio reader, a Bittensor model catalog, and an RTP robot registry. It is primarily a discovery and lookup layer — agents can find what models or robots are available and check wallet balances, but cannot execute inference, dispatch tasks, or stream live data through this host. It targets agents that need to gather context or enumerate resources before taking action elsewhere.

## When to use this host

Use gateway.spraay.app when an agent needs to (1) search the web for current information with a synthesized answer, (2) snapshot multi-chain EVM token balances for a wallet, (3) discover available Bittensor AI models before selecting one for inference, or (4) enumerate RTP robots by capability and price before dispatching a task. Do not use this host to actually run inference — use a Bittensor chat completions or inference endpoint for that. Do not use it to dispatch tasks to RTP robots — use a dedicated task-dispatch endpoint. Do not use it for NFT holdings, transaction history, real-time price feeds, or streaming data of any kind. For non-Bittensor model catalogs, look to OpenAI, Anthropic, or other provider APIs directly.

## Capabilities

### Web Information Retrieval

Fetches current web search results for a query, returning a synthesized answer and ranked source URLs with content snippets. Useful for grounding agent responses in up-to-date public information.

- **`search-web`** — Submits a web search query and returns an LLM-ready answer summary plus an array of ranked result objects with titles, URLs, and content snippets.

### On-Chain Portfolio Data

Retrieves native and ERC-20 token balances with USD valuations for a wallet address across up to 8 EVM networks, providing a snapshot of multi-chain holdings.

- **`fetch-portfolio-tokens`** — Returns multi-chain ERC-20 and native token holdings with USD values for a given wallet address across up to 8 EVM networks.

### AI and Automation Resource Discovery

Enumerates available Bittensor AI models (with pricing, context lengths, and feature flags) and RTP robots (with capabilities, pricing, and payment addresses), enabling agents to select appropriate compute or automation resources before dispatching work.

- **`fetch-bittensor-model-list`** — Returns the full catalog of available Bittensor AI models from the gateway, including model IDs, pricing in USD and TAO, context lengths, input/output modalities, and supported features.
- **`fetch-rtp-robot-list`** — Returns a pageable list of RTP robots from the Spraay gateway, including each robot's capabilities, price per task, status, and payment address.

## Workflows

### Select and Budget a Bittensor Model for a Research Task

*Use when an agent needs to answer a research question using a Bittensor model and must first verify model availability and cost before committing.*

1. **`fetch-bittensor-model-list`** — Retrieve the full Bittensor model catalog to compare pricing, context lengths, and supported features, then select the most appropriate model ID.
2. **`search-web`** — Run a web search on the research topic to gather current source material that will be passed as context to the chosen model at an external inference endpoint.

### Robot Discovery with Budget Constraint

*Use when an agent needs to find an affordable RTP robot for a specific capability and wants to verify the task cost against a wallet's available balance before dispatching.*

1. **`fetch-rtp-robot-list`** — Query available RTP robots filtered by required capability and maximum price per task to produce a shortlist of candidates.
2. **`fetch-portfolio-tokens`** — Check the agent's wallet portfolio to confirm sufficient token balance on the relevant EVM network to cover the robot's price per task.

## Skill reference

### `search-web`

**Spraay Web Search** — Submits a web search query and returns an LLM-ready answer summary plus an array of ranked result objects with titles, URLs, and content snippets.

*Use when:* Use when an agent needs current web search results for a given query, including a synthesized answer and source URLs, to answer user questions or gather up-to-date information from the web.

*Not for:* Do not use for structured data lookups, database queries, or real-time streaming data feeds; this is a single-shot web search returning static snapshots of web content.

**Inputs:**

- `query` (string, required) — The search query string to submit to the web search engine.
- `search_depth` (string) — Depth of the search; controls how thoroughly the engine crawls results (e.g. 'basic' or 'advanced').
- `max_results` (number) — Maximum number of result objects to return in the results array.

**Returns:** Returns the echoed query string, a synthesized answer paragraph, and an array of up to max_results web result objects each with title, url, content snippet, and relevance score.

**Example:** `{"query": "latest AI agent frameworks 2025", "search_depth": "advanced", "max_results": 5}`

---

### `fetch-rtp-robot-list`

**RTP Robot List** — Returns a pageable list of RTP robots from the Spraay gateway, including each robot's capabilities, price per task, status, and payment address.

*Use when:* Use when an agent needs to discover available RTP robots on the Spraay network, optionally filtered by capability or maximum price per task, before dispatching a task to a robot.

*Not for:* Do not use to execute or dispatch tasks to a robot; use a task-dispatch endpoint instead. Not suitable for real-time robot telemetry or status streaming.

**Inputs:**

- `capability` (string) — Filter robots by a specific capability they must support (e.g. 'scan', 'pick').
- `max_price` (string) — Filter robots whose price_per_task is at or below this value (in USDC).

**Returns:** Returns a robots array with each robot's id, name, capabilities, USDC price per task, chain, payment address, status, and rtp_uri, plus a total count and echoed filters object.

**Example:** `GET https://gateway.spraay.app/api/v1/robots/list?capability=scan&max_price=0.10`

---

### `fetch-bittensor-model-list`

**Bittensor Model List** — Returns the full catalog of available Bittensor AI models from the gateway, including model IDs, pricing in USD and TAO, context lengths, input/output modalities, and supported features.

*Use when:* Use when an agent needs to discover which Bittensor-hosted AI models are available before selecting one for inference, or when the agent needs to compare model pricing, context lengths, quantization, or supported features such as tool use or reasoning.

*Not for:* Do not use to invoke or run inference on a model; use a chat completions or inference endpoint instead. Not suitable for retrieving non-Bittensor model catalogs.

**Returns:** Returns object='list' and a data array of model records, each with an id, USD/TAO pricing for input and output tokens, context length, input/output modalities, supported features, and confidential compute status.

**Example:** `GET https://gateway.spraay.app/bittensor/v1/models`

---

### `fetch-portfolio-tokens`

**Portfolio Tokens** — Returns multi-chain ERC-20 and native token holdings with USD values for a given wallet address across up to 8 EVM networks.

*Use when:* Use when an agent needs to enumerate all token balances (native and ERC-20) held by a wallet address across multiple EVM chains, including total USD portfolio value and per-token network and balance data.

*Not for:* Do not use for NFT holdings or transaction history; use a dedicated NFT or transaction API instead. Not suitable for real-time price streaming — this is a single-shot portfolio snapshot.

**Inputs:**

- `address` (string, required) — EVM wallet address whose token holdings should be fetched.
- `networks` (string) — Comma-separated list of network identifiers to filter results. If omitted, all supported networks are queried (eth-mainnet, base-mainnet, arb-mainnet, opt-mainnet, matic-mainnet, bnb-mainnet, avax-mainnet, unichain-mainnet).

**Returns:** Returns the queried wallet address, list of scanned networks, token_count (e.g. 100), total_usd_value, and a tokens array with per-entry network, tokenAddress (null for native), and hex-encoded tokenBalance.

**Example:** `GET https://gateway.spraay.app/api/v1/portfolio/tokens?address=0x402Feee072D655B85e08f1751AF9ddbCd249521f`

---
