From 214d0356aebbd4d3cc1f2f6ad5af2af556e8a043 Mon Sep 17 00:00:00 2001 From: Tom Date: Fri, 13 Nov 2026 12:01:02 -0500 Subject: [PATCH] docs: link Tempo Console at tempo.xyz/console --- e2e/docs-workspace.test.ts | 2 +- e2e/routes-demo.test.ts | 2 +- src/components/DocsHeader.tsx | 2 +- src/components/DocsSectionNav.tsx | 2 +- src/components/RoutesApiKey.tsx | 2 +- src/components/RoutesTester.tsx | 2 +- src/lib/docs-link-cards.ts | 2 +- src/pages/docs/api.mdx | 2 +- src/pages/docs/api/authentication.mdx | 2 +- src/pages/docs/api/console.mdx | 12 ++++++------ src/pages/docs/api/console/api-keys.mdx | 8 ++++---- .../docs/api/console/projects-and-environments.mdx | 2 +- src/pages/docs/api/console/team.mdx | 4 ++-- src/pages/docs/api/console/usage-and-billing.mdx | 6 +++--- src/pages/docs/api/fee-payer.mdx | 2 +- src/pages/docs/routes/api-setup.mdx | 2 +- src/pages/docs/routes/test.mdx | 2 +- vercel.json | 4 ++-- 18 files changed, 30 insertions(+), 30 deletions(-) diff --git a/e2e/docs-workspace.test.ts b/e2e/docs-workspace.test.ts index 8ebeeb07f..ce7a82871 100644 --- a/e2e/docs-workspace.test.ts +++ b/e2e/docs-workspace.test.ts @@ -13,7 +13,7 @@ const utilityLabels = ['API reference', 'Partners'] const externalTools = [ ['MPP', 'https://mpp.dev/'], ['Mercator', 'https://mercator.sh/'], - ['Tempo Console', 'https://console.tempo.xyz/'], + ['Tempo Console', 'https://tempo.xyz/console'], ['Tempo Wallet', 'https://wallet.tempo.xyz/'], ] as const diff --git a/e2e/routes-demo.test.ts b/e2e/routes-demo.test.ts index e246f6e4c..39adc8797 100644 --- a/e2e/routes-demo.test.ts +++ b/e2e/routes-demo.test.ts @@ -1395,7 +1395,7 @@ test.describe('Routes demo without a key', () => { // "here" opens the key panel; the console link is where keys are made. await expect(lifecycle(page).getByRole('link', { name: 'Tempo API console' })).toHaveAttribute( 'href', - 'https://console.tempo.xyz/?to=/:org/api-keys', + 'https://tempo.xyz/console?to=/:org/api-keys', ) await lifecycle(page).getByRole('button', { name: 'here', exact: true }).click() await expect(page.getByLabel('Project API key')).toBeFocused() diff --git a/src/components/DocsHeader.tsx b/src/components/DocsHeader.tsx index f1a5f9e74..aa779506f 100644 --- a/src/components/DocsHeader.tsx +++ b/src/components/DocsHeader.tsx @@ -60,7 +60,7 @@ const TEMPO_AI_GUIDE_URL = `${DOCS_BASE_PATH}/guide/using-tempo-with-ai` const TEMPO_PLUGIN_URL = `${TEMPO_AI_GUIDE_URL}#install-tempo-plugins` /** Tempo Console. This host forwards to developers.tempo.xyz/console once the console moves there. */ -const CONSOLE_URL = 'https://console.tempo.xyz' +const CONSOLE_URL = 'https://tempo.xyz/console' /** Console session lookup, proxied by this host; its cookie is scoped to `/console` so docs pages never see it. */ const CONSOLE_ME_PATH = '/console/api/v1/me' diff --git a/src/components/DocsSectionNav.tsx b/src/components/DocsSectionNav.tsx index 4ae93ffd6..af8c2da99 100644 --- a/src/components/DocsSectionNav.tsx +++ b/src/components/DocsSectionNav.tsx @@ -49,7 +49,7 @@ const sectionIcons: Partial> = { export const docsExternalTools = [ { label: 'MPP', href: 'https://mpp.dev/', logo: MppLogo }, { label: 'Mercator', href: 'https://mercator.sh/', logo: MercatorLogo }, - { label: 'Tempo Console', href: 'https://console.tempo.xyz/', logo: TempoMark }, + { label: 'Tempo Console', href: 'https://tempo.xyz/console', logo: TempoMark }, { label: 'Tempo Wallet', href: 'https://wallet.tempo.xyz/', logo: TempoMark }, ] diff --git a/src/components/RoutesApiKey.tsx b/src/components/RoutesApiKey.tsx index e8d33fa7c..0dd916077 100644 --- a/src/components/RoutesApiKey.tsx +++ b/src/components/RoutesApiKey.tsx @@ -94,7 +94,7 @@ export function ApiKeyPill({

Add your API key from the{' '} string> = { 'eip155:4217': (hash) => `https://explore.tempo.xyz/tx/${hash}`, 'eip155:42431': (hash) => `https://explore.testnet.tempo.xyz/tx/${hash}`, diff --git a/src/lib/docs-link-cards.ts b/src/lib/docs-link-cards.ts index f6ae82f47..441ec72b7 100644 --- a/src/lib/docs-link-cards.ts +++ b/src/lib/docs-link-cards.ts @@ -161,7 +161,7 @@ export const docsLinkCards = { icon: 'code', links: [ ['Console guide', '/docs/api/console'], - ['Open Tempo Console', 'https://console.tempo.xyz/'], + ['Open Tempo Console', 'https://tempo.xyz/console'], ], }, ], diff --git a/src/pages/docs/api.mdx b/src/pages/docs/api.mdx index b3478076b..49859388e 100644 --- a/src/pages/docs/api.mdx +++ b/src/pages/docs/api.mdx @@ -46,7 +46,7 @@ The API uses `https://api.tempo.xyz/v1`. Most reads work without a key at the [p curl 'https://api.tempo.xyz/v1/blocks' ``` -For your own quota, create an API key in [Tempo Console](https://console.tempo.xyz/?to=/:org/api-keys) and send it in the `tempo-api-key` header. Keep it on your backend. [Authentication](/docs/api/authentication) covers keys, scopes, and paying per request with MPP. +For your own quota, create an API key in [Tempo Console](https://tempo.xyz/console?to=/:org/api-keys) and send it in the `tempo-api-key` header. Keep it on your backend. [Authentication](/docs/api/authentication) covers keys, scopes, and paying per request with MPP. To reconcile a payment, read its [transaction and receipt](/docs/api/transactions) and the [account activity](/docs/api/activities). diff --git a/src/pages/docs/api/authentication.mdx b/src/pages/docs/api/authentication.mdx index 673d649ce..c9f39bb10 100644 --- a/src/pages/docs/api/authentication.mdx +++ b/src/pages/docs/api/authentication.mdx @@ -19,7 +19,7 @@ Choose public access, pay per request with MPP, or authenticate with an API key: Most read endpoints are open to **public** (anonymous) callers, so no credential is required to get started. To raise your throughput, pay per request with [MPP](#mpp-paying-per-request) or send an **API key**. Some endpoints, such as webhook management, require a key. :::info -Create production and sandbox API keys in [Tempo Console](https://console.tempo.xyz/?to=/:org/api-keys). The [console API-key guide](/docs/api/console/api-keys) covers project selection, scopes, storage, rotation, and revocation. +Create production and sandbox API keys in [Tempo Console](https://tempo.xyz/console?to=/:org/api-keys). The [console API-key guide](/docs/api/console/api-keys) covers project selection, scopes, storage, rotation, and revocation. ::: diff --git a/src/pages/docs/api/console.mdx b/src/pages/docs/api/console.mdx index 351d86cf2..f15e6fa0b 100644 --- a/src/pages/docs/api/console.mdx +++ b/src/pages/docs/api/console.mdx @@ -12,7 +12,7 @@ import { Card, Cards } from 'vocs' # Tempo Console -[Tempo Console](https://console.tempo.xyz) is the control UI for your Tempo API account. Use it to organize integrations, issue credentials, monitor API usage and sponsored transactions, configure billing, and manage access to your organization. +[Tempo Console](https://tempo.xyz/console) is the control UI for your Tempo API account. Use it to organize integrations, issue credentials, monitor API usage and sponsored transactions, configure billing, and manage access to your organization. ## How the console is organized @@ -33,23 +33,23 @@ Most console pages show information across the organization. Use the project fil ### Sign in to Tempo Console -Open [console.tempo.xyz](https://console.tempo.xyz/?to=/:org/projects) and sign in. If you have access to more than one organization, choose the organization you want to configure from the organization menu. +Open [tempo.xyz/console](https://tempo.xyz/console?to=/:org/projects) and sign in. If you have access to more than one organization, choose the organization you want to configure from the organization menu. ### Create a project -Select [**Projects**](https://console.tempo.xyz/?to=/:org/projects), then [**New project**](https://console.tempo.xyz/?to=/:org/new). Enter a name that identifies the app or integration using the API, then select **Create project**. +Select [**Projects**](https://tempo.xyz/console?to=/:org/projects), then [**New project**](https://tempo.xyz/console?to=/:org/new). Enter a name that identifies the app or integration using the API, then select **Create project**. Projects hold API keys and provide an attribution boundary for usage. Create separate projects when you need to track or revoke integrations independently. ### Start in sandbox -Open the organization menu and select [**Switch to sandbox**](https://console.tempo.xyz/?to=/:org/projects%3Fenv%3Dsandbox). The amber banner confirms that the console is showing sandbox state. +Open the organization menu and select [**Switch to sandbox**](https://tempo.xyz/console?to=/:org/projects%3Fenv%3Dsandbox). The amber banner confirms that the console is showing sandbox state. Sandbox API keys are restricted to non-mainnet chains. Pass `chainId=testnet` explicitly. Production and sandbox credentials, usage, and billing state are separate. ### Create an API key -Select [**API Keys**](https://console.tempo.xyz/?to=/:org/api-keys%3Fenv%3Dsandbox), then [**New key**](https://console.tempo.xyz/?to=/:org/api-keys/new%3Fenv%3Dsandbox). Choose the project, give the key a descriptive name, and review its scopes before selecting **Create key**. +Select [**API Keys**](https://tempo.xyz/console?to=/:org/api-keys%3Fenv%3Dsandbox), then [**New key**](https://tempo.xyz/console?to=/:org/api-keys/new%3Fenv%3Dsandbox). Choose the project, give the key a descriptive name, and review its scopes before selecting **Create key**. The console selects the available self-service scopes by default. If you clear every scope, the key is created without access to any scoped API. @@ -72,7 +72,7 @@ A sandbox key requires a non-mainnet selector, such as `chainId=testnet`; omitti ### Review usage -Select [**Usage**](https://console.tempo.xyz/?to=/:org/usage%3Fenv%3Dsandbox) and choose your project from the filter. The page reports request volume, errors, sponsored transactions, high-volume routes, and usage by API key for the selected environment. +Select [**Usage**](https://tempo.xyz/console?to=/:org/usage%3Fenv%3Dsandbox) and choose your project from the filter. The page reports request volume, errors, sponsored transactions, high-volume routes, and usage by API key for the selected environment. ::::: diff --git a/src/pages/docs/api/console/api-keys.mdx b/src/pages/docs/api/console/api-keys.mdx index d987a1e91..4f0588dd2 100644 --- a/src/pages/docs/api/console/api-keys.mdx +++ b/src/pages/docs/api/console/api-keys.mdx @@ -17,11 +17,11 @@ You need at least one project before creating a key. ### Choose the environment -Open the organization menu in [Tempo Console](https://console.tempo.xyz/?to=/:org/api-keys) and switch to [**Sandbox**](https://console.tempo.xyz/?to=/:org/api-keys%3Fenv%3Dsandbox) or [**Production**](https://console.tempo.xyz/?to=/:org/api-keys). Check for the amber sandbox banner before continuing. +Open the organization menu in [Tempo Console](https://tempo.xyz/console?to=/:org/api-keys) and switch to [**Sandbox**](https://tempo.xyz/console?to=/:org/api-keys%3Fenv%3Dsandbox) or [**Production**](https://tempo.xyz/console?to=/:org/api-keys). Check for the amber sandbox banner before continuing. ### Open the new-key form -Select [**API Keys**](https://console.tempo.xyz/?to=/:org/api-keys), then [**New key**](https://console.tempo.xyz/?to=/:org/api-keys/new). +Select [**API Keys**](https://tempo.xyz/console?to=/:org/api-keys), then [**New key**](https://tempo.xyz/console?to=/:org/api-keys/new). ### Choose a project and name @@ -110,11 +110,11 @@ Replace the old token in the integration's secret configuration and deploy or re ### Verify the replacement -Make a request with the new key and check the project's [**Usage**](https://console.tempo.xyz/?to=/:org/usage) page. Confirm that requests are attributed to the replacement key. +Make a request with the new key and check the project's [**Usage**](https://tempo.xyz/console?to=/:org/usage) page. Confirm that requests are attributed to the replacement key. ### Revoke the old key -Return to [**API Keys**](https://console.tempo.xyz/?to=/:org/api-keys), open the old key's actions menu, select **Revoke key**, and confirm. Requests using that token stop authenticating. +Return to [**API Keys**](https://tempo.xyz/console?to=/:org/api-keys), open the old key's actions menu, select **Revoke key**, and confirm. Requests using that token stop authenticating. ::::: diff --git a/src/pages/docs/api/console/projects-and-environments.mdx b/src/pages/docs/api/console/projects-and-environments.mdx index e34da0263..931498d1b 100644 --- a/src/pages/docs/api/console/projects-and-environments.mdx +++ b/src/pages/docs/api/console/projects-and-environments.mdx @@ -19,7 +19,7 @@ Each API key belongs to one project. Project attribution lets you filter API key ### Open Projects -Select [**Projects** in Tempo Console](https://console.tempo.xyz/?to=/:org/projects), then select [**New project**](https://console.tempo.xyz/?to=/:org/new). +Select [**Projects** in Tempo Console](https://tempo.xyz/console?to=/:org/projects), then select [**New project**](https://tempo.xyz/console?to=/:org/new). ### Name the project diff --git a/src/pages/docs/api/console/team.mdx b/src/pages/docs/api/console/team.mdx index e22faffb7..4890c5e32 100644 --- a/src/pages/docs/api/console/team.mdx +++ b/src/pages/docs/api/console/team.mdx @@ -27,7 +27,7 @@ Owners and admins can send invitations. Admins can grant only the Member role. ### Open Team -Select [**Team** in Tempo Console](https://console.tempo.xyz/?to=/:org/team). +Select [**Team** in Tempo Console](https://tempo.xyz/console?to=/:org/team). ### Enter the invitation details @@ -57,4 +57,4 @@ Role changes take effect for organization access after the update succeeds. They - **Remove a member:** open the member's actions menu, select **Remove**, and confirm. - **Leave an organization:** open your own actions menu and select **Leave organization**. The last owner cannot leave until another owner exists. -Removing a member does not automatically revoke project API keys. Review [**API Keys**](https://console.tempo.xyz/?to=/:org/api-keys) separately when offboarding someone who managed integration credentials. +Removing a member does not automatically revoke project API keys. Review [**API Keys**](https://tempo.xyz/console?to=/:org/api-keys) separately when offboarding someone who managed integration credentials. diff --git a/src/pages/docs/api/console/usage-and-billing.mdx b/src/pages/docs/api/console/usage-and-billing.mdx index ec4494f50..1e806c21b 100644 --- a/src/pages/docs/api/console/usage-and-billing.mdx +++ b/src/pages/docs/api/console/usage-and-billing.mdx @@ -11,7 +11,7 @@ Tempo Console reports API activity and manages billing for fee sponsorship. Usag ## Review API usage -Select [**Usage**](https://console.tempo.xyz/?to=/:org/usage) to inspect activity in the selected environment. Use the project selector to show all projects or one project. +Select [**Usage**](https://tempo.xyz/console?to=/:org/usage) to inspect activity in the selected environment. Use the project selector to show all projects or one project. The page includes: @@ -38,7 +38,7 @@ Switch to the production or sandbox environment whose billing state you want to ### Open Billing -Select [**Billing**](https://console.tempo.xyz/?to=/:org/billing), then find **Payment methods**. +Select [**Billing**](https://tempo.xyz/console?to=/:org/billing), then find **Payment methods**. ### Add the payment method @@ -68,7 +68,7 @@ Production fee sponsorship requires an active billing source. A spend or sponsor ## Investigate unexpected usage 1. Confirm that the console is showing the correct environment. -2. Open [**Usage**](https://console.tempo.xyz/?to=/:org/usage) and filter to the affected project. +2. Open [**Usage**](https://tempo.xyz/console?to=/:org/usage) and filter to the affected project. 3. Compare the **Routes** and **API keys** sections to find the source. 4. Revoke a credential if its traffic is unexpected. 5. Review the Billing page and adjust spend or sponsorship limits if needed. diff --git a/src/pages/docs/api/fee-payer.mdx b/src/pages/docs/api/fee-payer.mdx index 6731a3567..69690d5e1 100644 --- a/src/pages/docs/api/fee-payer.mdx +++ b/src/pages/docs/api/fee-payer.mdx @@ -45,7 +45,7 @@ Send a testnet payment whose fee Tempo's public fee payer covers. ### Create an API key -Sign in to [Tempo Console](https://console.tempo.xyz/?to=/:org/projects), create an organization and project, add a payment method in [**Billing**](https://console.tempo.xyz/?to=/:org/billing), and create a key in [**API Keys**](https://console.tempo.xyz/?to=/:org/api-keys/new). Console shows the key once. +Sign in to [Tempo Console](https://tempo.xyz/console?to=/:org/projects), create an organization and project, add a payment method in [**Billing**](https://tempo.xyz/console?to=/:org/billing), and create a key in [**API Keys**](https://tempo.xyz/console?to=/:org/api-keys/new). Console shows the key once. The key's environment picks the network. A production key (`tempo:sk:...`) sponsors mainnet transactions. A sandbox key (`tempo_sandbox:sk:...`) sponsors testnet transactions, and the examples on this page use one. Switch environments in the organization picker. To try sponsorship without a key, use the [public testnet fee payer](#public-testnet-fee-payer). diff --git a/src/pages/docs/routes/api-setup.mdx b/src/pages/docs/routes/api-setup.mdx index 38e14aa53..30632a6b4 100644 --- a/src/pages/docs/routes/api-setup.mdx +++ b/src/pages/docs/routes/api-setup.mdx @@ -35,7 +35,7 @@ Routes is in beta. [Contact Tempo](https://tempo.xyz/contact) to discuss access ### Create a Routes API key -Create a key in [Tempo Console](https://console.tempo.xyz/?to=/:org/api-keys) with the scopes your flow needs. Keep it on your backend; it authenticates your application and doesn't sign transactions. +Create a key in [Tempo Console](https://tempo.xyz/console?to=/:org/api-keys) with the scopes your flow needs. Keep it on your backend; it authenticates your application and doesn't sign transactions. | Scope | Allows | | --- | --- | diff --git a/src/pages/docs/routes/test.mdx b/src/pages/docs/routes/test.mdx index 8a58e3044..de7f4b11a 100644 --- a/src/pages/docs/routes/test.mdx +++ b/src/pages/docs/routes/test.mdx @@ -20,7 +20,7 @@ Run a route end to end in your browser and watch each [Routes API](/docs/routes) ## Before you run it - **Real funds.** The demo moves real funds on live networks. Start with a small amount. -- **API key.** Creating a route needs a Routes API key from [Tempo Console](https://console.tempo.xyz/?to=/:org/api-keys) with the `routes:read`, `routes:write`, and `data:read` [scopes](/docs/routes/api-setup#routes-api-key-scopes). +- **API key.** Creating a route needs a Routes API key from [Tempo Console](https://tempo.xyz/console?to=/:org/api-keys) with the `routes:read`, `routes:write`, and `data:read` [scopes](/docs/routes/api-setup#routes-api-key-scopes). - **Key storage.** The key stays only in this tab's memory. - **No key.** Without a key, the demo quotes from a demo organization that can quote but not create routes. Its quotes show the subsidized 1:1 terms an approved organization receives. diff --git a/vercel.json b/vercel.json index cfb0435e3..4af94d122 100644 --- a/vercel.json +++ b/vercel.json @@ -523,12 +523,12 @@ }, { "source": "/login", - "destination": "https://console.tempo.xyz", + "destination": "https://tempo.xyz/console", "permanent": false }, { "source": "/developers/login", - "destination": "https://console.tempo.xyz", + "destination": "https://tempo.xyz/console", "permanent": false }, {