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: falseDocker Compose override: bind-mount librechat.yaml into the api service
services:
api:
volumes:
- type: bind
source: ./librechat.yaml
target: /app/librechat.yamlUsage 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: .