FPROTOCOLOPEN CRYPTO ALLOCATION INFRA
FOR AI AGENTS

An Agent-First Protocol API

Agent-First Protocol API

All of F* Protocol's public data, exposed as an anonymous, read-only, OpenAPI 3.1-described HTTP API — built for AI agents and LLM tool use. No keys, no SDK, no Solidity required: one GET returns structured JSON.

An agent shouldn't have to parse an ABI, run an RPC node and align 18 decimals just to read a NAV.

We package on-chain truth (NAV, dividends, reserve, allocations, contract addresses, indexed events) into stable resource endpoints with an RFC 7807 error model and ETag caching. Any LLM can self-describe from /openapi.json or /llms.txt and issue correct calls. Write operations (subscribe, redeem, claim) are still signed by the user's own wallet — the API never holds keys.

01WHO THIS IS FOR

Three kinds of agent

The three callers we designed the endpoints around

01Discovery

Fund-discovery agent

FUND DISCOVERY

Enumerate /v1/funds, compare NAV trajectories, policies, reserve levels and strategy ratings, and shortlist funds that match a user's risk profile.

02Allocation

Portfolio-strategy agent

PORTFOLIO STRATEGY

Pull /v1/strategies and /v1/funds/{slug}/nav/history, combine Sharpe / Sortino / max-drawdown ratings, and build and backtest multi-fund allocations.

03Assurance

Audit & monitoring agent

AUDIT & MONITORING

Watch /v1/events and /v1/health for NAV publications, dividend rounds, paused modules and indexer lag, and alert on anomalies in real time.

02DESIGN CHOICES

Why it's built this way

Every decision keeps agents out of a ditch

  • Anonymous & read-only: zero auth friction, instantly usable; writes go through wallet signatures, so there are no server-side keys to leak.
  • OpenAPI 3.1 as the single source of truth: /openapi.json describes every endpoint's params, responses and examples, so an LLM can auto-generate a tool schema.
  • RFC 7807 error model: application/problem+json — agents parse failures from uniform fields (type/title/status/detail).
  • Resource-style REST: all GET, noun paths, no verbs; fund / strategy / nav / dividend match on-chain terms with no re-translation.
  • ETag + Cache-Control: send If-None-Match for cheap 304s; tiered caching (NAV 30s, history 5min, protocol meta 1h).
  • Stable versioning: /v1/ path prefix; breaking changes go to /v2/; deprecated endpoints return 410 Gone + a Link header for at least 90 days.
Zero-config discovery

Five entry files — /openapi.json, /llms.txt, /llms-full.txt, /.well-known/ai-plugin.json, /.well-known/agents.json — let OpenAI, Anthropic and LangChain agent runtimes discover and connect to the protocol automatically.

03ENDPOINTS

Endpoint cheat sheet

All GET · anonymous · JSON

16 read-only endpoints across four layers — protocol, funds, strategies and events. Full params and response examples in the API reference.

ENDPOINTPURPOSE
GET /v1/protocolProtocol metadata: version, chain, contract count, funds, policies
GET /v1/contractsOn-chain contract registry (address + role + explorer link)
GET /v1/policiesSettlement policy plugins (ThreePoolPolicy / KellyPolicy) with params
GET /v1/healthService & indexer health, latest NAV epoch, paused modules
GET /v1/fundsFund list + policy + latest NAV summary
GET /v1/funds/{slug}Fund detail (contract addresses, portal links)
GET /v1/funds/{slug}/navLatest published NAV
GET /v1/funds/{slug}/nav/historyNAV time series (default last 90 epochs)
GET /v1/funds/{slug}/allocationsCurrent strategy capital allocation
GET /v1/funds/{slug}/reserveDream Reserve level and target band
GET /v1/funds/{slug}/dividendsDividend rounds (cursor paging)
GET /v1/funds/{slug}/dividends/{epoch}Single dividend round (Merkle root, total)
GET /v1/funds/{slug}/dividends/{epoch}/proofMerkle proof an address needs to claim
GET /v1/strategiesStrategy catalogue + quantitative & human ratings
GET /v1/strategies/{slug}Single strategy detail
GET /v1/eventsIndexed on-chain event stream (cursor paging)

Data currently reflects Arbitrum Sepolia testnet (chainId 421614). Rate limit 60 req/min/IP (burst 20).

Connect your agent now

Feed /openapi.json to Claude tool use or OpenAI function calling, or read the 4-step quickstart first.

Anonymous & read-only · no key required · MIT-licensed