| Agents indexed | 41,390+ |
| Capability categories | 66 |
| Registries crawled | 5 |
| Routing latency (p99) | <50ms |
| Uptime target | 99.95% |
Waypoint is a developer infrastructure company building the routing, discovery, and settlement layer for AI agents. Co-founded by Narasimhan Rengan and admitted to Canopy Spring 2026 at Founders, Inc., the platform lets developers discover, invoke, and pay any agent through a single SDK, handling routing, billing, and trust scoring across an index of over 41,000 agents organized into 66 capability categories.1 The company describes its position as "DNS + npm + OpenRouter for agents" — resolving the coordination gap that emerged after the Model Context Protocol standardized agent invocation but left capability discovery, quality signaling, and payment entirely unsolved.2
The Model Context Protocol (MCP) standardized how AI agents invoke tools. In under a year of its introduction, 41,000+ MCP servers appeared across multiple public registries.2 That growth created a structural problem: when an agent needs a capability — say, lead enrichment — it receives a flat list of servers and must pick one without access to quality signals, pricing, latency benchmarks, SLA guarantees, or trust scores. The availability of many agents made the selection problem worse, not better.2
Waypoint's founders framed this as a solved-call, unsolved-contract problem: MCP handled the mechanics of invoking a tool, but everything that should happen before and after the call — discovery, negotiation, billing, and accountability — remained unaddressed.2 The company launched to operate as the coordination layer between agent consumers and agent providers, drawing an analogy to the role DNS plays for web addresses, npm for software packages, and OpenRouter for LLM access.2
Waypoint's platform indexes agents from five public MCP registries, classifying them into a 66-category capability taxonomy with categories like ai.inference, search.web, and database.query.1 As of April 2026 the directory contains 41,390 agents,1 with over 200 verified as working without authentication and over 3,800 individual tools discovered.2 The platform runs a hosted MCP Discovery Gateway at mcp.waypoint.ing that connects standard MCP clients — including Claude and Cursor — to the full agent directory without any installation or OAuth setup.1
New accounts receive $5 in free credits on signup. Access requires signing in with Google or GitHub and generating an API key from the billing dashboard; the dashboard shows every invocation with latency and per-call cost.7
Waypoint defines the Agent Transfer Protocol (ATP), a thin layer above HTTP that adds identity, routing, billing, and trust to every agent interaction.6 The protocol specifies five commands:
Every agent is identified by a stable URI in the format agent://{owner}/{name}, where the owner is a verified namespace tied to a cryptographic identity.6 Capability names follow a dot-separated taxonomy — lead.enrich, search.web, code.review — with each capability declaration including JSON Schema definitions for inputs and outputs, a per-call price in USD, and SLA commitments for latency and availability.6
Authentication uses Ed25519 signatures: every ATP request is signed with the caller's private key against a canonical representation of the method, path, body hash, and timestamp; the gateway verifies the signature against the caller's registered public key in under 1ms.6 For agent-to-agent calls, delegation tokens — scoped JWTs specifying which capabilities the delegate can invoke, a cost ceiling, and an expiration time — carry authorization without sharing raw credentials.6
Waypoint supports agents built with any framework through protocol adapters. The MCP adapter maps MCP tools to ATP capabilities automatically; the OpenAPI adapter wraps REST APIs using their OpenAPI specs; the A2A adapter bridges Google's Agent-to-Agent protocol, mapping A2A tasks to ATP TASK commands.6
The routing engine selects agents through multi-signal ranking across five dimensions: trust score, benchmark score, per-call cost, observed latency (p50 and p95), and historical success rate.3 The router computes a weighted composite score, applies any caller-specified constraints (a cost ceiling via max_cost_usd or a latency cap via max_latency_ms), and excludes non-qualifying agents before ranking. If no agents can satisfy the stated constraints, the router returns a CONSTRAINT_NOT_SATISFIABLE error rather than silently degrading quality.3
When the top-ranked agent fails — due to a timeout, error response, or open circuit breaker — the router automatically retries with the next-best candidate from the ranked list, continuing until either a successful response is returned or all fallbacks are exhausted, at which point it returns an AGENT_UNAVAILABLE error with per-attempt failure reasons.3
Circuit breakers operate per agent across three states: Closed (normal operation), Open (triggered after consecutive failures, causing all requests to be immediately rejected and rerouted), and Half-open (a single probe request is sent after a 1-second cooldown; success closes the breaker, failure reopens it).3 A single degraded agent does not affect routing to other agents serving the same capability.3
The NEGOTIATE command lets callers compare cost, latency, and quality estimates from multiple agents before committing to an invocation, enabling cost-sensitive or latency-sensitive applications to make informed routing decisions.3 The DELEGATE command supports router agents — agents that orchestrate other agents — by issuing scoped delegation tokens that permit specific downstream capabilities up to a cost ceiling and expiration.3
Every indexed agent receives a composite trust score derived from three components.4
The metadata trust score draws on signals gathered during cross-registry crawling: GitHub stars, commit recency (commits within 90 days score higher than older repositories), usage volume (Docker pull counts, Smithery useCount, download metrics), schema completeness (whether tool definitions include descriptions, typed parameters, and output schemas), and registry presence across multiple listing sources.4 Three adaptive weight profiles — Full, Partial, and Enriched — adjust signal contributions based on data availability.4
The probe score reflects automated health checks covering liveness (servers that fail liveness score 0 across all checks regardless of other signals), handshake latency, tool count, and schema quality.4
The benchmark score is computed in a second probe phase that invokes each tool with valid test inputs and verifies the response against expected patterns.4 This identifies agents that work without authentication — a non-trivial filter, since many indexed servers are misconfigured, abandoned, or require inaccessible API keys.4
Based on the composite score, agents fall into four trust tiers: Limited (minimal signals), Standard (basic metadata and passing health checks), Trusted (strong signals, consistent probes, verified tool-call success), and Exemplary (top-tier across all dimensions).4 Portal display tiers — Featured, Verified, and Indexed — determine search ranking and badge visibility. Trust scores are recomputed every five minutes; probe data is refreshed daily via a scheduled Kubernetes CronJob.4
Agents declare per-call prices in USD in their ATP manifests; free agents set price_usd: 0 and are still metered for usage analytics.5 Consumers prepay credits; each invocation deducts the agent's declared price from the consumer's balance, with the balance checked before dispatch and insufficient balances returning a SPENDING_LIMIT_EXCEEDED error rather than proceeding.5
Exactly-once billing is enforced through metering deduplication: every invocation carries an idempotency key, and duplicate metering events from retries or network failures are detected and discarded, ensuring consumers are never double-charged.5 Provider payouts settle within 24 hours of the invocation; the platform retains a percentage of each transaction.5
Consumers can configure per-agent and per-day spending limits. Disputes may be filed within 7 days of an invocation; automated refunds are issued for provable failures — error responses, timeouts, and unreachable agents — without manual review.5
The TypeScript SDK (@waypointing/sdk) and a Python SDK provide the primary developer interfaces.7 The TypeScript client is initialized from three environment variables issued when an API key is generated:
WAYPOINT_AGENT_ID=users/u-<id>
WAYPOINT_KEY_ID=wk_<timestamp>_<random>
WAYPOINT_PRIVATE_KEY=<64-char hex>
A WaypointClient.fromEnv() call reads these variables and returns a configured client. Invocations use waypoint.task(agentId, input), with SSE streaming, automatic fallback chains, and circuit breaker logic built into the client.73