# Principles

> The guarantees Numes makes about models, money, privacy and measurements, and where those guarantees stop.

Source: https://0.0.0.0:3000/docs/principles
Documentation index: https://0.0.0.0:3000/docs/llms.txt

Numes is a marketplace: independent providers sell inference, and you buy it through one API. These are the rules the platform enforces on every request, so you can decide what to rely on and what to verify yourself.

## One API for many providers

Every model is reachable through the same OpenAI-compatible API at `https://api.numes.ai/api/v1`. You never integrate with a provider directly: the platform authenticates you, picks an eligible endpoint, returns the result and charges you.

When you set nothing, routing balances price, reliability and performance. You can steer it with the [`provider` object](/docs/routing/provider-routing): sort by price, throughput, latency or measured quality, pin or exclude providers, cap prices and restrict data handling.

## Verified offers only

An offer is one model served by one provider endpoint at one price. An offer receives traffic only while all of these hold:

- The platform approved the provider and the endpoint.
- The model's public name was reviewed by the platform and mapped to a canonical model ID.
- The offer passed the platform's verification, which is renewed regularly. Hosted offers, which the platform serves through a provider's own upstream account, rely on the upstream service's declared capabilities.
- New listings, and price changes that move far from reviewed or market prices, were reviewed by an administrator.
- The endpoint is connected, healthy and has capacity.

An offer that fails a check drops out of discovery and routing until it passes again. A provider can't mark its own offer as verified, and a pass never carries over to a changed offer. The platform may re-review any provider, endpoint or offer at any time. Providers that misrepresent a model, its capabilities, its usage or its data handling are suspended, and their earnings are withheld or reversed. See [Verification and trust](/docs/routing/verification).

## Pay only for delivered output

- **No output, no charge.** A request that fails without delivering output to you isn't charged.
- **Charges follow delivery.** You're charged for output delivered to you. [`GET /generation`](/docs/api-reference/chat/get-generation) is the authoritative record of what a request cost.
- **No splicing.** Fallback to another endpoint happens only before output starts. Once you've received output, the platform never stitches in another provider's answer.
- **No overspending.** Before a request runs, an upper bound of its cost is held against your balance and limits. Unused funds are released when the request completes.

See [Usage accounting](/docs/account/usage-accounting).

## Exact money

Prices, balances, holds and charges are exact decimal values end to end; parse them as decimals.

Each inference key is priced and charged in one currency, USD or BTC, chosen when you create the key. USD and BTC balances are separate. They're never added together, converted or used as a fallback for each other, and prices in the API are always in the currency of the key that asked. Fund USD by card and BTC over Lightning or on-chain; see [Credits and payments](/docs/account/credits) and [Bitcoin](/docs/account/bitcoin).

## Private by default

- The platform doesn't store prompt or response content. It keeps request metadata only: model, provider, endpoint, timing, usage and cost.
- Logs, metrics and measurements contain no content.
- The `user` field is discarded. Session and cache identifiers reach providers only as opaque hints that carry no content or account identifiers.

The provider that serves a request necessarily receives its content. Each endpoint declares whether it collects data, how long it retains it and where it processes it. These declarations are the provider's contractual commitments, reviewed at approval, and you can route on them with `data_collection`, `zdr` and `regions`. See [Data retention](/docs/privacy/data-retention) and [Provider data policies](/docs/privacy/provider-data-policies).

## Measured, not claimed

Performance figures come from the platform's own measurements of real traffic, not from providers:

- **Time to first token:** from the platform sending the request to the provider until the first output arrives.
- **Throughput:** output tokens per second between the first and last output.
- **Success rate:** failures the provider is responsible for. Your own cancellations and errors don't count against it.
- **Task quality:** the share of tool-call and structured-output responses that pass objective validation.

The same measurements drive routing and appear on each model's page with the amount of data behind them. Missing measurements are shown as missing, never as zero or as best. See [Quality sort](/docs/routing/provider-routing#quality-sort).

## Open supply

Anyone can apply to become a provider with their own hardware, a local inference engine such as Ollama, vLLM or llama.cpp, or an account with a supported upstream API. The provider agent connects outbound over HTTPS, so providers open no ports. See [Become a provider](/docs/providers/overview).

## No lock-in

- The API follows the OpenAI Chat Completions shape and OpenRouter's routing conventions, so the official OpenAI SDKs and many OpenRouter-compatible tools work by changing the base URL and key. [Compatibility](/docs/api-reference/compatibility) lists every difference.
- Model IDs are canonical `author/model` slugs, identical on every provider that serves the model.
- Every response returns its usage and cost, and you can fetch each request's record later, so you can reconcile your own books without the dashboard.

## Where the guarantees stop

- **Verification isn't proof of weights.** Automated checks, and additional unannounced checks including behavioral analysis, confirm that endpoints behave as declared and serve the model they advertise. Outside [encrypted models](/docs/inference/encrypted) served from attested hardware, they're not a cryptographic proof of the weights an endpoint runs.
- **Declarations are commitments.** Data-handling and location declarations are contractual commitments that routing filters enforce. Apply your own diligence for regulated workloads.
- **Quality is narrow.** Task quality checks that tool calls and structured outputs are well formed. It doesn't grade whether an answer is correct or helpful.
- **Availability isn't promised.** Statistics describe the past. An endpoint can still fail, and a model with a single provider has no fallback.

## Next steps

:::cards
- {rocket} [Quickstart](/docs/quickstart) Send your first request.
- {boxes} [Models](/docs/models) Model IDs, discovery and pricing.
- {network} [Provider routing](/docs/routing/provider-routing) Control how endpoints are chosen.
- {shield-check} [Verification and trust](/docs/routing/verification) How an offer becomes routable.
- {receipt} [Usage accounting](/docs/account/usage-accounting) What you're charged and when.
- {server} [Become a provider](/docs/providers/overview) Sell inference on the marketplace.
:::
