Skip to main content
Tulip’s Chat interface uses the Gateway’s OpenAI-compatible endpoint. You pay the selected provider in the model’s canonical credits. Chat with a gateway-active model Choose a gateway-active model and review its provider market before sending a request.

Use the frontend

1

Hold credits

Buy or receive the canonical credit for the model you want to use.
2

Fund a permit

Open Credits, select the market, and deposit enough credit to cover your expected requests. Leave provider selection open unless you require one specific offer.
3

Select the model

Open Chat and use the model picker. In version 1, review the pinned Hugging Face model link and available provider count.
4

Send a message

Choose the funded permit, enter your prompt, and submit. A sleeping endpoint may take longer and may add the provider’s published wake fee.
5

Inspect the result

The response is returned in the upstream OpenAI-compatible format. Tulip response headers identify the request, quote, provider offer, tariff version, and non-streaming credit charge.

Request headers

HeaderRequiredPurpose
Authorization: Bearer …YesAuthenticates the Tulip API client.
X-Tulip-PermitYesSelects the model-bound escrow permit.
X-Tulip-QuoteNoReuses a valid quote for the exact same request.
Idempotency-KeySupportedIdentifies a client request across retries.

Streaming

Set stream: true to receive server-sent events. The upstream stream must include terminal usage. If usage is missing or the client disconnects before completion, Tulip marks the request failed and releases the reservation rather than estimating a charge.

Common failures

No active verified endpoint can currently serve the request. The model credit can continue trading even when inference is temporarily unavailable.
The permit’s unreserved balance is lower than the maximum quoted charge. Top up the permit or reduce the maximum completion tokens.
The quote selected an offer different from the one pinned by the permit.
Quotes expire after 60 seconds and are bound to the exact request body. Request a new quote after changing messages or generation settings.