API429 / LibreChat

LibreChat with API429: custom endpoint YAML, secret env and model discovery controls

Configure API429 as an OpenAI-compatible custom endpoint in an existing LibreChat deployment and test gemini-3.8-flash with a bounded text request. Merge the endpoints.custom snippet below into your validated librechat.yaml while preserving root schema fields, authentication settings and note that upstream quickstart docs track Latest (dev) rather than every stable release.

Configuration is based on the application’s public documentation and the API429 contract. Native client execution, installation imports and agent workflows have not been verified here. Start with a short non-sensitive request and inspect the response in your installed version.

Connection settings

Protocol
OpenAI Chat Completions
Connection mode
LibreChat: custom endpoint in YAML
Base URL
https://gateway.api429.com/v1
Exact model ID to check
gemini-3.8-flash

Check access for your key with GET /v1/models. A public model card does not guarantee availability in your application. Store the key in the application’s secure credential store or the current session environment. Keep secret values out of command arguments and shared project files.

Merge endpoints.custom into your existing librechat.yaml

Begin with the working, schema-valid librechat.yaml already used by your LibreChat instance. Note that the official LibreChat custom endpoint quickstart is labeled Latest (dev), so always verify field support against the exact stable release or image tag running on your server instead of copying version numbers blindly. Keep your required root keys such as version, cache, registration and existing model endpoints intact. The YAML example below is an additive endpoints.custom fragment, not a standalone configuration file for bootstrapping a brand-new server.

Append the API429 object to your existing endpoints.custom list, or create the custom array under your existing endpoints key if only other providers are present. Never declare a duplicate top-level endpoints key in YAML, as parsers can silently overwrite earlier provider blocks. Validate YAML indentation and schema syntax locally before restarting the container so you do not trigger paid API requests merely to debug formatting mistakes.

Pass the API key via server environment and Docker mount

Set apiKey to the documented LibreChat environment placeholder '${API429_API_KEY}'. Supply the actual API429 credential to the LibreChat server process through your deployment secret manager or container environment. This syntax uses LibreChat runtime variable substitution rather than embedding a live secret in librechat.yaml, and it does not assume shell interpolation inside docker --env-file. Keep real keys out of git repositories and verify that the variable is present in the running container without printing its value to logs.

For Docker Compose deployments, the official quickstart mounts the local librechat.yaml file into /app/librechat.yaml inside the api service container. Merge the volume bind snippet below into your existing docker-compose.override.yaml rather than replacing your entire compose stack. Non-container local installations read the configuration file directly without a Docker bind mount. Restart the application cleanly after updating the file and confirm that the startup logs report no YAML validation errors.

Keep standard routing and disable model fetch and title calls

Set baseURL to 'https://gateway.api429.com/v1'. Standard LibreChat custom endpoints append chat/completions automatically, producing the target request URL https://gateway.api429.com/v1/chat/completions. Omit directEndpoint from this configuration, because enabling directEndpoint alters URL construction rules and breaks standard /v1 routing unless the base URL is rewritten. Likewise, do not set provider: anthropic; that option targets native Anthropic Messages, whereas this guide uses the OpenAI-compatible Chat Completions contract.

Under models, set default to ['gemini-3.8-flash'] and set fetch to false so LibreChat uses the explicit identifier without polling the remote models endpoint on startup. Setting titleConvo to false prevents automatic background requests that generate conversation titles after your first message. In addParams, set max_tokens to 256 and stream to false to keep your initial verification bounded and easy to inspect. Do not add unverified tool, vision or reasoning parameters to addParams during the initial connection check.

Run one deliberate text check and verify account usage

After restarting LibreChat, open a new standard conversation, select the API429 custom endpoint and pick gemini-3.8-flash. If the endpoint does not appear in the selector, inspect container startup logs, YAML merge structure and the /app/librechat.yaml mount before changing multiple settings at once. Seeing the endpoint name and model ID in the user interface confirms only that LibreChat parsed the YAML file; it does not prove that ${API429_API_KEY} resolved to a valid key with access to the model.

Send one short nonconfidential prompt and inspect both the returned message and your API429 usage log. Every model call is paid, so wait for the response to complete before retrying. If authentication or model lookup fails, verify your key against an authenticated GET /v1/models request rather than relying solely on the public catalog card. Remember that max_tokens: 256 caps only the completion length of a single request, not your total spend across growing chat histories or multiple users.

Manage shared deployment keys and scope boundaries

Referencing ${API429_API_KEY} in librechat.yaml provisions a shared server credential for everyone allowed to select that custom endpoint. Use LibreChat authentication and access controls to restrict which users can access the instance. While LibreChat also documents a user_provided key mode where individuals enter personal credentials in the UI, that is a separate operational model and should not be mixed casually with a shared server secret. A successful text reply validates only basic Chat Completions; LibreChat Agents, file attachments, code interpreter, artifacts and streaming modes require separate protocol and cost evaluations.

Settings and examples

Additive endpoints.custom block for an existing valid librechat.yaml

endpoints:
  custom:
    - name: 'API429'
      apiKey: '${API429_API_KEY}'
      baseURL: 'https://gateway.api429.com/v1'
      models:
        default: ['gemini-3.8-flash']
        fetch: false
      titleConvo: false
      addParams:
        max_tokens: 256
        stream: false

Docker Compose override: bind-mount librechat.yaml into the api service

services:
  api:
    volumes:
      - type: bind
        source: ./librechat.yaml
        target: /app/librechat.yaml

Usage and next steps

Hypothetical hourly workload: 30 requests to gemini-3.8-flash, each with 5,000 ordinary input and 512 output tokens, costs approximately $0.05 at current API429 rates. Cache, tools, retries, application subscriptions and other fees are excluded. Catalog date: .

Actual usage depends on request count, context length and response size. Check your API429 account for actual charges.

API reference · API429 documentation · Help and diagnostics

Payment and a $10 test

  • Russian bank card. Top up your balance in the account.
  • Invoice for companies. Bank transfer with closing documents.
  • USDT and TON. Top up in crypto.

$10 test credit. Subscribe to our Telegram channel through the bot and get $10 on your balance for the first requests. Get $10 in the bot

Frequently asked questions

Can I replace my entire librechat.yaml with the snippet shown here?

No. The snippet shows only the endpoints.custom addition. You must merge it into an existing, schema-valid librechat.yaml that preserves your root version field, authentication settings and other configured endpoints.

Why does the configuration set both models.default and fetch: false?

Listing gemini-3.8-flash in models.default with fetch: false pins the exact model ID for initial testing without automatic remote model list polling. You should still verify key entitlement separately via GET /v1/models.

Should I enable directEndpoint for the API429 custom endpoint?

No. With baseURL set to https://gateway.api429.com/v1, LibreChat appends chat/completions to reach the standard endpoint. Enabling directEndpoint changes path resolution and breaks this contract.

Does ${API429_API_KEY} give each LibreChat user a separate personal billing limit?

No. An environment-backed apiKey shares one deployment credential across all permitted users of that endpoint, and max_tokens caps only one reply. Configure user access controls and monitor total spend in API429.

Sources

The application documentation defines its interface and limitations; API429 documentation defines addresses, authentication and client methods. Connection configuration checked: .

Telegram