diff --git a/apps/portal/src/app/nebula/plugins/openAI/page.mdx b/apps/portal/src/app/nebula/plugins/openAI/page.mdx
new file mode 100644
index 00000000000..e3df8ab6ae6
--- /dev/null
+++ b/apps/portal/src/app/nebula/plugins/openAI/page.mdx
@@ -0,0 +1,40 @@
+# OpenAI
+
+### Chat Completions API
+
+Compatible with OpenAI’s Chat Completion API to process chat history and generate context-aware responses.
+
+```python
+from openai import OpenAI
+
+client = OpenAI(
+ base_url="https://nebula-api.thirdweb.com",
+ api_key="{{THIRDWEB_SECRET_KEY}}",
+)
+chat_completion = client.chat.completions.create(
+ model="t0",
+ messages=[{"role": "user", "content": "Hello Nebula!"}],
+ stream=False,
+ extra_body={ "context": { "wallet_address": "0x..." }}
+)
+
+print(chat_completion)
+```
+
+### Models API
+
+Compatible with OpenAI’s Models API to list out models used.
+
+```python
+from openai import OpenAI
+
+# https://nebula-api.thirdweb.com/models
+
+client = OpenAI(
+ base_url="https://nebula-api.thirdweb.com/",
+ api_key="",
+)
+
+models = client.models.list()
+print(models)
+```
\ No newline at end of file
diff --git a/apps/portal/src/app/nebula/plugins/page.mdx b/apps/portal/src/app/nebula/plugins/page.mdx
index b24e771a43d..1a95ec2d7b1 100644
--- a/apps/portal/src/app/nebula/plugins/page.mdx
+++ b/apps/portal/src/app/nebula/plugins/page.mdx
@@ -2,11 +2,7 @@ import { Callout } from '@doc'
# Plugins
+- [OpenAI](/nebula/plugins/openai)
+- [Eliza](/nebula/plugins/eliza)
-
-
-We are actively developing plugins to develop with other frameworks and languages.
-
-If you have a specific request, please [contact us](https://thirdweb.com/contact).
-
-
\ No newline at end of file
+We are actively adding more integrations, for any specific requests please [contact us](https://thirdweb.com/contact).
\ No newline at end of file
diff --git a/apps/portal/src/app/nebula/sidebar.tsx b/apps/portal/src/app/nebula/sidebar.tsx
index 1edb18d2bcd..9ede09d6026 100644
--- a/apps/portal/src/app/nebula/sidebar.tsx
+++ b/apps/portal/src/app/nebula/sidebar.tsx
@@ -110,10 +110,14 @@ export const sidebar: SideBar = {
],
},
{
- name: "Plugins",
+ name: "Plugins & Integrations",
href: "/nebula/plugins",
icon: ,
links: [
+ {
+ name: "OpenAI",
+ href: "/nebula/plugins/openai",
+ },
{
name: "Eliza",
href: "/nebula/plugins/eliza",
diff --git a/packages/service-utils/CHANGELOG.md b/packages/service-utils/CHANGELOG.md
index 4fb828a3a14..ae330819bd6 100644
--- a/packages/service-utils/CHANGELOG.md
+++ b/packages/service-utils/CHANGELOG.md
@@ -1,5 +1,11 @@
# @thirdweb-dev/service-utils
+## 0.7.3
+
+### Patch Changes
+
+- [#6084](https://github.com/thirdweb-dev/js/pull/6084) [`b5e327e`](https://github.com/thirdweb-dev/js/commit/b5e327e5ec745ce1beb9a79404fa5b11d0c5588e) Thanks [@jnsdls](https://github.com/jnsdls)! - add `billingPlanVersion` to `TeamResponse`
+
## 0.7.2
### Patch Changes
diff --git a/packages/service-utils/package.json b/packages/service-utils/package.json
index 9123815b242..373716f225e 100644
--- a/packages/service-utils/package.json
+++ b/packages/service-utils/package.json
@@ -1,6 +1,6 @@
{
"name": "@thirdweb-dev/service-utils",
- "version": "0.7.2",
+ "version": "0.7.3",
"type": "module",
"main": "dist/cjs/index.js",
"module": "dist/esm/index.js",
diff --git a/packages/service-utils/src/core/api.ts b/packages/service-utils/src/core/api.ts
index 20dbb489ed1..e2b5db9bde4 100644
--- a/packages/service-utils/src/core/api.ts
+++ b/packages/service-utils/src/core/api.ts
@@ -45,6 +45,7 @@ export type TeamResponse = {
slug: string;
image: string | null;
billingPlan: "free" | "starter" | "growth" | "pro";
+ billingPlanVersion: number;
createdAt: Date;
updatedAt: Date | null;
billingEmail: string | null;
diff --git a/packages/service-utils/src/mocks.ts b/packages/service-utils/src/mocks.ts
index 5902dacd5aa..85627a7247c 100644
--- a/packages/service-utils/src/mocks.ts
+++ b/packages/service-utils/src/mocks.ts
@@ -42,6 +42,7 @@ export const validTeamResponse: TeamResponse = {
createdAt: new Date("2024-06-01"),
updatedAt: new Date("2024-06-01"),
billingPlan: "free",
+ billingPlanVersion: 1,
billingEmail: "test@example.com",
billingStatus: "noPayment",
growthTrialEligible: false,