From 688dbe4ed6bb63a559ec83f7985987fe3c80186f Mon Sep 17 00:00:00 2001 From: tinatsou Date: Thu, 24 Sep 2026 15:08:41 -0700 Subject: [PATCH 1/8] docs: add BitDeer provider Add BitDeer to the supported homepage provider strip. Signed-off-by: tinatsou --- site/src/data/home/providers.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/src/data/home/providers.ts b/site/src/data/home/providers.ts index 47e093bda7..be4d1b687a 100644 --- a/site/src/data/home/providers.ts +++ b/site/src/data/home/providers.ts @@ -2,7 +2,6 @@ * Supported LLM providers, shown as the homepage logo strip. * Keep alphabetical. status 'in-progress' renders a "coming soon" hint. */ - export type Provider = { name: string; logoUrl: string; @@ -13,6 +12,7 @@ export const providers: Provider[] = [ { name: 'Anthropic', logoUrl: '/img/providers/anthropic.svg', status: 'supported' }, { name: 'AWS Bedrock', logoUrl: '/img/providers/aws-bedrock.svg', status: 'supported' }, { name: 'Azure OpenAI', logoUrl: '/img/providers/azure-openai.svg', status: 'supported' }, + { name: 'BitDeer', logoUrl: '/img/providers/bitdeer.svg', status: 'supported' }, { name: 'Cohere', logoUrl: '/img/providers/cohere.svg', status: 'supported' }, { name: 'DeepInfra', logoUrl: '/img/providers/deepinfra.svg', status: 'supported' }, { name: 'DeepSeek', logoUrl: '/img/providers/deepseek.svg', status: 'supported' }, From 15c2f5c1c2bb0d16649c91766816ad5636963710 Mon Sep 17 00:00:00 2001 From: tinatsou Date: Thu, 24 Sep 2026 15:09:21 -0700 Subject: [PATCH 2/8] docs: add BitDeer provider logo Add BitDeer's official SVG logo for the homepage provider strip. Signed-off-by: tinatsou --- site/static/img/providers/bitdeer.svg | 68 +++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 site/static/img/providers/bitdeer.svg diff --git a/site/static/img/providers/bitdeer.svg b/site/static/img/providers/bitdeer.svg new file mode 100644 index 0000000000..a60626f7ee --- /dev/null +++ b/site/static/img/providers/bitdeer.svg @@ -0,0 +1,68 @@ + + + logo_Horizontal + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file From eb73887a46c266aa09adb4f9d1a4163a75129278 Mon Sep 17 00:00:00 2001 From: tinatsou Date: Thu, 24 Sep 2026 15:09:52 -0700 Subject: [PATCH 3/8] docs: preserve provider file spacing Restore the original blank line so the diff only contains the BitDeer entry. Signed-off-by: tinatsou --- site/src/data/home/providers.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/site/src/data/home/providers.ts b/site/src/data/home/providers.ts index be4d1b687a..a2be97daca 100644 --- a/site/src/data/home/providers.ts +++ b/site/src/data/home/providers.ts @@ -2,6 +2,7 @@ * Supported LLM providers, shown as the homepage logo strip. * Keep alphabetical. status 'in-progress' renders a "coming soon" hint. */ + export type Provider = { name: string; logoUrl: string; From e6fe63e622171a18824312f4ab1d774a8ed0ecdd Mon Sep 17 00:00:00 2001 From: tinatsou Date: Thu, 24 Sep 2026 15:20:09 -0700 Subject: [PATCH 4/8] docs: add Bitdeer to provider index Adds Bitdeer AI to the Connect Providers guide. Reference: https://github.com/BerriAI/litellm-docs/pull/1701 Signed-off-by: tinatsou --- site/docs/getting-started/connect-providers/index.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/site/docs/getting-started/connect-providers/index.md b/site/docs/getting-started/connect-providers/index.md index 384e684207..4d3d934941 100644 --- a/site/docs/getting-started/connect-providers/index.md +++ b/site/docs/getting-started/connect-providers/index.md @@ -13,6 +13,7 @@ After setting up the basic AI Gateway with the mock backend, you can configure i In this getting started guide you'll find quickstart setups to connect to the following providers: - [Tetrate Agent Router Service (TARS)](./tars.md) - Connect to Tetrate Agent Router Service's models +- [Bitdeer AI](./bitdeer.md) - Connect to Bitdeer AI's OpenAI-compatible inference models - [OpenAI](./openai.md) - Connect to OpenAI's GPT models - [Anthropic](./anthropic.md) - Connect to Anthropic's Claude models - [AWS Bedrock](./aws-bedrock.md) - Access AWS Bedrock's suite of foundation models @@ -42,6 +43,7 @@ When configuring AI providers, keep these security considerations in mind: Choose your provider to get started: - [Connect Tetrate Agent Router Service (TARS)](./tars.md) +- [Connect Bitdeer AI](./bitdeer.md) - [Connect OpenAI](./openai.md) - [Connect Anthropic](./anthropic.md) - [Connect AWS Bedrock](./aws-bedrock.md) From 8cbc7a18d2f31109ad98d087665a7a87005df455 Mon Sep 17 00:00:00 2001 From: tinatsou Date: Thu, 24 Sep 2026 15:21:19 -0700 Subject: [PATCH 5/8] docs: add Bitdeer provider guide Documents Bitdeer AI setup, current models, streaming, and troubleshooting. Reference: https://github.com/BerriAI/litellm-docs/pull/1701 Signed-off-by: tinatsou --- .../connect-providers/bitdeer.md | 163 ++++++++++++++++++ 1 file changed, 163 insertions(+) create mode 100644 site/docs/getting-started/connect-providers/bitdeer.md diff --git a/site/docs/getting-started/connect-providers/bitdeer.md b/site/docs/getting-started/connect-providers/bitdeer.md new file mode 100644 index 0000000000..8d0c6b754a --- /dev/null +++ b/site/docs/getting-started/connect-providers/bitdeer.md @@ -0,0 +1,163 @@ +--- +id: bitdeer +title: Connect Bitdeer AI +sidebar_position: 7 +--- + +import CodeBlock from '@theme/CodeBlock'; +import vars from '../../_vars.json'; + +# Connect Bitdeer AI + +This guide will help you configure Agent Router to work with Bitdeer AI's serverless models through its OpenAI-compatible API. + +## Prerequisites + +Before you begin, you'll need: + +- An API key from the [Bitdeer AI Console](https://www.bitdeer.ai/model/apikeys) +- Basic setup completed from the [Basic Usage](../basic-usage.md) guide +- Basic configuration removed as described in the [Advanced Configuration](./index.md) overview + +## Configuration Steps + +:::info +Ready to proceed? Ensure you have followed the steps in [Connect Providers](./index.md). +::: + +### 1. Download configuration template + +{`curl -O https://raw.githubusercontent.com/theagentrouter/agent-router/${vars.aigwGitRef}/examples/basic/bitdeer.yaml`} + +### 2. Configure Bitdeer AI Credentials + +Edit the `bitdeer.yaml` file to replace the Bitdeer placeholder value: + +- Find the section containing `BITDEER_API_KEY` +- Replace it with your actual Bitdeer AI API key + +:::caution Security Note +Make sure to keep your API key secure and never commit it to version control. The key will be stored in a Kubernetes secret. +::: + +### 3. Apply Configuration + +Apply the updated configuration and wait for the Gateway pod to be ready. If you already have a Gateway running, the secret credential update will be picked up automatically in a few seconds. + +```shell +kubectl apply -f bitdeer.yaml +kubectl wait pods --timeout=2m \ + -l gateway.envoyproxy.io/owning-gateway-name=envoy-ai-gateway-basic \ + -n envoy-gateway-system \ + --for=condition=Ready +``` + +The template sends requests to Bitdeer AI's OpenAI-compatible endpoint at `https://api-inference.bitdeer.ai/v1`. + +### 4. Test the Configuration + +You should have set `$GATEWAY_URL` as part of the basic setup before connecting to providers. See the [Basic Usage](../basic-usage.md) page for instructions. + +#### Test Chat Completions + +```shell +curl -H "Content-Type: application/json" \ + -d '{ + "model": "deepseek-ai/DeepSeek-V4-Pro", + "messages": [ + { "role": "user", "content": "Explain serverless inference in one sentence." } + ] + }' \ + $GATEWAY_URL/v1/chat/completions +``` + +#### Test Streaming + +```shell +curl -N -H "Content-Type: application/json" \ + -d '{ + "model": "deepseek-ai/DeepSeek-V4-Pro", + "messages": [ + { "role": "user", "content": "Write a short poem about inference." } + ], + "stream": true + }' \ + $GATEWAY_URL/v1/chat/completions +``` + +## Supported Models + +The template configures `deepseek-ai/DeepSeek-V4-Pro`. Other model IDs include `Qwen/Qwen3.5-397B-A17B` and `moonshotai/Kimi-K2.6`. + +See the [Bitdeer AI Model Catalog](https://developers.bitdeer.ai/docs/api/models-catalog) for the current list and each model's supported capabilities. + +## Troubleshooting + +If you encounter issues: + +- Verify your API key is correct and active +- Confirm the requested model ID appears in the Bitdeer AI Model Catalog +- Check pod status: + + ```shell + kubectl get pods -n envoy-gateway-system + ``` + +- View controller logs: + + ```shell + kubectl logs -n envoy-ai-gateway-system deployment/ai-gateway-controller + ``` + +- View External Processor logs: + + ```shell + kubectl logs -n envoy-gateway-system \ + -l gateway.envoyproxy.io/owning-gateway-name=envoy-ai-gateway-basic \ + -c ai-gateway-extproc + ``` + +Common errors: + +- `401`: Invalid API key +- `429`: Rate limit exceeded +- `503`: Bitdeer AI service unavailable + +## Configuring More Models + +To use more models, add more matching rules to the `AIGatewayRoute` in `bitdeer.yaml`. Set each rule's `x-ai-eg-model` header value to a model ID from the [Bitdeer AI Model Catalog](https://developers.bitdeer.ai/docs/api/models-catalog). + +For example, add Qwen and Kimi models alongside the default DeepSeek model: + +```yaml +apiVersion: aigateway.envoyproxy.io/v1beta1 +kind: AIGatewayRoute +metadata: + name: envoy-ai-gateway-basic-bitdeer + namespace: default +spec: + parentRefs: + - name: envoy-ai-gateway-basic + kind: Gateway + group: gateway.networking.k8s.io + rules: + - matches: + - headers: + - type: Exact + name: x-ai-eg-model + value: deepseek-ai/DeepSeek-V4-Pro + - headers: + - type: Exact + name: x-ai-eg-model + value: Qwen/Qwen3.5-397B-A17B + - headers: + - type: Exact + name: x-ai-eg-model + value: moonshotai/Kimi-K2.6 + backendRefs: + - name: envoy-ai-gateway-basic-bitdeer +``` + +## Next Steps + +After configuring Bitdeer AI, return to [Connect Providers](./index.md) to add another provider. From 13df3adb79c0184c60d3b55ecb7431e987f59c3a Mon Sep 17 00:00:00 2001 From: tinatsou Date: Thu, 24 Sep 2026 15:21:59 -0700 Subject: [PATCH 6/8] docs: add Bitdeer configuration template Adds an OpenAI-compatible Agent Router backend for https://api-inference.bitdeer.ai/v1 using BITDEER_API_KEY. Signed-off-by: tinatsou --- examples/basic/bitdeer.yaml | 86 +++++++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 examples/basic/bitdeer.yaml diff --git a/examples/basic/bitdeer.yaml b/examples/basic/bitdeer.yaml new file mode 100644 index 0000000000..9f5f026851 --- /dev/null +++ b/examples/basic/bitdeer.yaml @@ -0,0 +1,86 @@ +# Copyright Envoy AI Gateway Authors +# SPDX-License-Identifier: Apache-2.0 +# The full text of the Apache license is available in the LICENSE file at +# the root of the repo. + +apiVersion: aigateway.envoyproxy.io/v1beta1 +kind: AIGatewayRoute +metadata: + name: envoy-ai-gateway-basic-bitdeer + namespace: default +spec: + parentRefs: + - name: envoy-ai-gateway-basic + kind: Gateway + group: gateway.networking.k8s.io + rules: + - matches: + - headers: + - type: Exact + name: x-ai-eg-model + value: deepseek-ai/DeepSeek-V4-Pro + backendRefs: + - name: envoy-ai-gateway-basic-bitdeer +--- +apiVersion: aigateway.envoyproxy.io/v1beta1 +kind: AIServiceBackend +metadata: + name: envoy-ai-gateway-basic-bitdeer + namespace: default +spec: + schema: + name: OpenAI + backendRef: + name: envoy-ai-gateway-basic-bitdeer + kind: Backend + group: gateway.envoyproxy.io +--- +apiVersion: aigateway.envoyproxy.io/v1beta1 +kind: BackendSecurityPolicy +metadata: + name: envoy-ai-gateway-basic-bitdeer-apikey + namespace: default +spec: + targetRefs: + - group: aigateway.envoyproxy.io + kind: AIServiceBackend + name: envoy-ai-gateway-basic-bitdeer + type: APIKey + apiKey: + secretRef: + name: envoy-ai-gateway-basic-bitdeer-apikey + namespace: default +--- +apiVersion: gateway.envoyproxy.io/v1alpha1 +kind: Backend +metadata: + name: envoy-ai-gateway-basic-bitdeer + namespace: default +spec: + endpoints: + - fqdn: + hostname: api-inference.bitdeer.ai + port: 443 +--- +apiVersion: gateway.networking.k8s.io/v1 +kind: BackendTLSPolicy +metadata: + name: envoy-ai-gateway-basic-bitdeer-tls + namespace: default +spec: + targetRefs: + - group: "gateway.envoyproxy.io" + kind: Backend + name: envoy-ai-gateway-basic-bitdeer + validation: + wellKnownCACertificates: "System" + hostname: api-inference.bitdeer.ai +--- +apiVersion: v1 +kind: Secret +metadata: + name: envoy-ai-gateway-basic-bitdeer-apikey + namespace: default +type: Opaque +stringData: + apiKey: BITDEER_API_KEY # Replace with your Bitdeer AI API key. From d67d45b0ca49987d6e81288e953a1cfa8a25c217 Mon Sep 17 00:00:00 2001 From: tinatsou Date: Thu, 24 Sep 2026 15:32:16 -0700 Subject: [PATCH 7/8] docs: add Bitdeer AI to supported providers Added Bitdeer AI as a supported provider with OpenAI-compatible endpoints. Signed-off-by: tinatsou --- site/docs/capabilities/llm-integrations/supported-providers.md | 1 + 1 file changed, 1 insertion(+) diff --git a/site/docs/capabilities/llm-integrations/supported-providers.md b/site/docs/capabilities/llm-integrations/supported-providers.md index 25cad3764c..426f110fb8 100644 --- a/site/docs/capabilities/llm-integrations/supported-providers.md +++ b/site/docs/capabilities/llm-integrations/supported-providers.md @@ -21,6 +21,7 @@ Below is a table of currently supported providers and their respective configura | [Groq](https://console.groq.com/docs/openai) | `{"name":"OpenAI","prefix":"/openai/v1"}` | [API Key] | ✅ | | | [Grok](https://docs.x.ai/docs/api-reference?utm_source=chatgpt.com#chat-completions) | `{"name":"OpenAI","prefix":"/v1"}` | [API Key] | ✅ | | | [Together AI](https://docs.together.ai/docs/openai-api-compatibility) | `{"name":"OpenAI","prefix":"/v1"}` | [API Key] | ✅ | | +| [Bitdeer AI](https://developers.bitdeer.ai/docs/api) | `{"name":"OpenAI","prefix":"/v1"}` | [API Key] | ✅ | Only the OpenAI-compatible endpoints | | [Cohere](https://docs.cohere.com/v2/docs/compatibility-api) | `{"name":"Cohere","version":"v2"}` or `{"name":"OpenAI","prefix":"/compatibility/v1"}` | [API Key] | ✅ | Supports native Cohere v2 (e.g., /cohere/v2/rerank) and OpenAI-compatible endpoints. | | [TypeSafe AI](https://docs.typesafe.ai/api.md) | `{"name":"TypeSafe","version":"v1"}` | [API Key] | ✅ | Native System One API for the Jev decision model (e.g., /typesafe/v1/systemone). `version` defaults to `v1`. | | [Mistral](https://docs.mistral.ai/api/#tag/chat/operation/chat_completion_v1_chat_completions_post) | `{"name":"OpenAI","prefix":"/v1"}` | [API Key] | ✅ | | From d00aae2f30e4cdd1a90e598ba93f3381ef3b3959 Mon Sep 17 00:00:00 2001 From: tinatsou Date: Mon, 28 Sep 2026 23:59:19 -0700 Subject: [PATCH 8/8] docs: use Bitdeer icon and fix provider formatting Signed-off-by: tinatsou --- .../llm-integrations/supported-providers.md | 2 +- .../connect-providers/bitdeer.md | 2 +- site/static/img/providers/bitdeer.svg | 77 +++---------------- 3 files changed, 11 insertions(+), 70 deletions(-) diff --git a/site/docs/capabilities/llm-integrations/supported-providers.md b/site/docs/capabilities/llm-integrations/supported-providers.md index 426f110fb8..a01b18e378 100644 --- a/site/docs/capabilities/llm-integrations/supported-providers.md +++ b/site/docs/capabilities/llm-integrations/supported-providers.md @@ -21,7 +21,7 @@ Below is a table of currently supported providers and their respective configura | [Groq](https://console.groq.com/docs/openai) | `{"name":"OpenAI","prefix":"/openai/v1"}` | [API Key] | ✅ | | | [Grok](https://docs.x.ai/docs/api-reference?utm_source=chatgpt.com#chat-completions) | `{"name":"OpenAI","prefix":"/v1"}` | [API Key] | ✅ | | | [Together AI](https://docs.together.ai/docs/openai-api-compatibility) | `{"name":"OpenAI","prefix":"/v1"}` | [API Key] | ✅ | | -| [Bitdeer AI](https://developers.bitdeer.ai/docs/api) | `{"name":"OpenAI","prefix":"/v1"}` | [API Key] | ✅ | Only the OpenAI-compatible endpoints | +| [Bitdeer AI](https://developers.bitdeer.ai/docs/api) | `{"name":"OpenAI","prefix":"/v1"}` | [API Key] | ✅ | Only the OpenAI-compatible endpoints | | [Cohere](https://docs.cohere.com/v2/docs/compatibility-api) | `{"name":"Cohere","version":"v2"}` or `{"name":"OpenAI","prefix":"/compatibility/v1"}` | [API Key] | ✅ | Supports native Cohere v2 (e.g., /cohere/v2/rerank) and OpenAI-compatible endpoints. | | [TypeSafe AI](https://docs.typesafe.ai/api.md) | `{"name":"TypeSafe","version":"v1"}` | [API Key] | ✅ | Native System One API for the Jev decision model (e.g., /typesafe/v1/systemone). `version` defaults to `v1`. | | [Mistral](https://docs.mistral.ai/api/#tag/chat/operation/chat_completion_v1_chat_completions_post) | `{"name":"OpenAI","prefix":"/v1"}` | [API Key] | ✅ | | diff --git a/site/docs/getting-started/connect-providers/bitdeer.md b/site/docs/getting-started/connect-providers/bitdeer.md index 8d0c6b754a..606925cf2d 100644 --- a/site/docs/getting-started/connect-providers/bitdeer.md +++ b/site/docs/getting-started/connect-providers/bitdeer.md @@ -5,7 +5,7 @@ sidebar_position: 7 --- import CodeBlock from '@theme/CodeBlock'; -import vars from '../../_vars.json'; +import vars from '../../\_vars.json'; # Connect Bitdeer AI diff --git a/site/static/img/providers/bitdeer.svg b/site/static/img/providers/bitdeer.svg index a60626f7ee..1b2aec7e25 100644 --- a/site/static/img/providers/bitdeer.svg +++ b/site/static/img/providers/bitdeer.svg @@ -1,68 +1,9 @@ - - - logo_Horizontal - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file + + + + + + + + +