Developers / Providers

Sell to
software

Agents do not sign up, read pricing pages or open support tickets. They need your API described precisely and priced in a way a program can act on. Tollex does that translation.

  1. 01

    Describe what you sell

    Send an OpenAPI 3 document or a manifest. Each operation becomes a capability with a strict input schema. External references, cookie parameters and credential headers are left out, and anything that cannot be imported safely is reported with a reason.

  2. 02

    Set a price per call

    Put x-tollex-price on each operation, in atomic USDG, or give the importer a default. An operation without a price is skipped. Agents are only charged when your endpoint answers successfully.

  3. 03

    Keep your credentials

    The manifest names a secret reference such as env:ACME_API_KEY. The operator holds the value and resolves it per call. It never appears in a schema, catalogue, receipt, log or error message, and agents cannot send credential headers of their own.

  4. 04

    Let agents find you

    Your capabilities appear in resolve plans, the catalogue, the OpenAPI document, the A2A agent card, the MCP tool list and the Bazaar metadata on each payment challenge.

  5. 05

    Get paid and get evidence

    Agents pay the Tollex deployment in USDG with x402; the deployment calls your API with your credentials. Every paid call produces a signed receipt binding the request, the price and the response. Settling between an operator and its providers is agreed between them; Tollex does not split payments on chain today.

  6. 06

    Be measured on facts

    There is no health endpoint to build. Tollex observes availability, success rate, latency, settlement reliability and receipt coverage from real calls and reports each one on its own, without folding them into a single score or star rating.

OpenAPI, with a Tollex price extension
paths:
  /spot/{pair}:
    get:
      operationId: spotPrice
      summary: Latest spot price for a trading pair
      x-tollex-price: "2000"        # atomic USDG per successful call
      parameters:
        - { name: pair, in: path, required: true,
            schema: { type: string, pattern: "^[A-Z]{2,6}-[A-Z]{2,6}$" } }
      security: [{ apiKey: [] }]
Or a manifest · runs in the Tollex test suite
const manifest: ProviderManifestInput = {
  id: "acme.marketdata",
  name: "Acme market data",
  baseUrl: "https://api.acme-data.example/v2",
  network: NETWORK,
  asset: { address: USDG_ADDRESS, symbol: "USDG" },
  source: "provider manifest v3, reviewed 2026-10-02",
  // A reference, never the key itself. The operator resolves it at call time.
  auth: [{ kind: "API_KEY_HEADER", name: "key", param: "X-Api-Key", secretRef: "env:ACME_API_KEY" }],
  endpoints: [
    {
      id: "acme_spot_price",
      name: "Spot price",
      description: "Latest spot price for a trading pair, with the exchange timestamp.",
      method: "GET",
      path: "/spot/{pair}",
      pathParams: ["pair"],
      inputSchema: {
        type: "object",
        properties: { pair: { type: "string", pattern: "^[A-Z]{2,6}-[A-Z]{2,6}$" } },
        required: ["pair"],
        additionalProperties: false,
      },
      price: 2_000n, // atomic USDG per successful call (0.002 USDG)
      tags: ["market", "price", "spot"],
      category: "market",
    },
  ],
};
const provider = new ManifestToolProvider(manifest, { secrets: new DefaultSecretResolver() });

The full rules for imports, authentication kinds, outbound call limits and reputation are in the provider documentation.