diff --git a/references/api/api-keys.mdx b/references/api/api-keys.mdx index 0c136f44..5c705cb4 100644 --- a/references/api/api-keys.mdx +++ b/references/api/api-keys.mdx @@ -66,7 +66,7 @@ Already hitting a limit? See [Handling Rate Limits](/references/api/api_core_con ## How to Use an API key -Quote requests that set a `referrer` must be authenticated: pass your API key in the `x-api-key` header on `POST /quote` and `POST /quote/v2`. Requests with a referrer but no valid key return `401` with `errorCode: "UNAUTHORIZED_QUOTE"`. +Quote requests that set a `referrer` must be authenticated: pass your API key in the `x-api-key` header on `POST /quote` and `POST /quote/v2`. Requests with a referrer but no valid key return `401` with `errorCode: "UNAUTHORIZED_QUOTE"`. Starting **October 2, 2026**, every `quote/v2` request will require a valid API key. `quote/v2` remains fully supported for authenticated requests. ### HTTP requests diff --git a/references/api/api_guides/bitcoin.mdx b/references/api/api_guides/bitcoin.mdx index 47f43922..7541b0dd 100644 --- a/references/api/api_guides/bitcoin.mdx +++ b/references/api/api_guides/bitcoin.mdx @@ -3,6 +3,9 @@ title: Bitcoin Support description: How to deposit and withdraw on Bitcoin from any Relay chain --- +import QuoteV2AuthCallout from "/snippets/QuoteV2AuthCallout.mdx"; + + Relay supports deposits to and withdrawals from Bitcoin across any supported chain. This guide covers the Bitcoin-specific parameters, PSBT signing, balance calculation, and API/SDK usage required for integration. @@ -107,6 +110,8 @@ documentation, then use the [Get Quote](/references/api/get-quote-v2) endpoint. ### Example: Withdraw from Bitcoin to Base + + ```bash Request curl -X POST "https://api.relay.link/quote/v2" \ diff --git a/references/api/api_guides/bridging-integration-guide.mdx b/references/api/api_guides/bridging-integration-guide.mdx index 21f4dee4..53e282ef 100644 --- a/references/api/api_guides/bridging-integration-guide.mdx +++ b/references/api/api_guides/bridging-integration-guide.mdx @@ -3,6 +3,9 @@ title: "Bridging Integration Guide" description: "How to integrate the Relay API for bridging and onboarding" --- +import QuoteV2AuthCallout from "/snippets/QuoteV2AuthCallout.mdx"; + + import GetAnApiKey from "/snippets/GetAnApiKey.mdx"; import QuickstartCallout from "/snippets/QuickstartCallout.mdx"; import StatusWebsockets from "/snippets/StatusWebsockets.mdx"; @@ -29,6 +32,8 @@ While not mandatory for integration, doing the following will improve the UX for - **`EXPECTED_OUTPUT`** — specify the approximate amount you want to receive; the input amount is calculated accordingly and the output may vary slightly due to slippage. - **`EXACT_OUTPUT`** — specify the exact amount you want to receive; the input amount is calculated accordingly. If the exact output cannot be filled, the request fails and the user is refunded on the origin chain. + + ```bash EXACT_INPUT curl -X POST "https://api.relay.link/quote/v2" \ diff --git a/references/api/api_guides/builder-codes.mdx b/references/api/api_guides/builder-codes.mdx index e7774d41..7efa6c71 100644 --- a/references/api/api_guides/builder-codes.mdx +++ b/references/api/api_guides/builder-codes.mdx @@ -3,6 +3,9 @@ title: "Base Builder Codes" description: "Attribute onchain activity by appending builder codes to your Relay transactions" --- +import QuoteV2AuthCallout from "/snippets/QuoteV2AuthCallout.mdx"; + + Base builder codes are a way to attribute onchain activity. Each code enhances onchain transactions with offchain metadata and makes your application more discoverable. To learn more about builder codes, see the [Base documentation](https://docs.base.org/base-chain/builder-codes/builder-codes). --- @@ -17,6 +20,8 @@ Builder codes only work for quotes that route through the Relay Depository contr ### Example + + ```typescript expandable import { createWalletClient, diff --git a/references/api/api_guides/calling-integration-guide.mdx b/references/api/api_guides/calling-integration-guide.mdx index cfa2d390..1dafd1d7 100644 --- a/references/api/api_guides/calling-integration-guide.mdx +++ b/references/api/api_guides/calling-integration-guide.mdx @@ -3,6 +3,9 @@ title: "Call Execution Integration Guide" description: "How to execute cross-chain calls using Relay" --- +import QuoteV2AuthCallout from "/snippets/QuoteV2AuthCallout.mdx"; + + import GetAnApiKey from "/snippets/GetAnApiKey.mdx"; import QuickstartCallout from "/snippets/QuickstartCallout.mdx"; @@ -51,6 +54,8 @@ While not mandatory for integration, doing the following will improve the UX for The request below is schematic. In practice, `txs[].data` must contain ABI-encoded calldata. + + ```bash curl -X POST "https://api.relay.link/quote/v2" \ -H "Content-Type: application/json" \ diff --git a/references/api/api_guides/hyperliquid-support.mdx b/references/api/api_guides/hyperliquid-support.mdx index ffe4200f..cab71026 100644 --- a/references/api/api_guides/hyperliquid-support.mdx +++ b/references/api/api_guides/hyperliquid-support.mdx @@ -3,6 +3,9 @@ title: "Hyperliquid Support" description: "How to deposit and withdraw from Hyperliquid to any Relay chain" --- +import QuoteV2AuthCallout from "/snippets/QuoteV2AuthCallout.mdx"; + + Relay supports depositing and withdrawing Hyperliquid (Hypercore) perpsUSDC from any supported chain. To try it today, use the [Relay App](https://relay.link/bridge/hyperliquid). Relay also provides complete support for HyperEVM, which can be accessed using the standard quote flow with `chainId=999`. This document details how to integrate Hyperliquid deposits and withdrawals into your application. ## API Access @@ -59,6 +62,8 @@ Hyperliquid withdrawals use a two-step signature flow. The v2 implementation lev Use the [Hyperliquid info API](https://hyperliquid.gitbook.io/hyperliquid-docs/for-developers/api/info-endpoint) to query balances. Pass `clearinghouseState` as the `type` parameter, then read the `withdrawable` property, which returns a USD value in human-readable format. ### Example Quote Request + + ```bash Request curl 'https://api.relay.link/quote/v2' \ diff --git a/references/api/api_guides/lighter-support.mdx b/references/api/api_guides/lighter-support.mdx index 86d013e3..6d017fa8 100644 --- a/references/api/api_guides/lighter-support.mdx +++ b/references/api/api_guides/lighter-support.mdx @@ -3,6 +3,9 @@ title: "Lighter Support" description: "How to deposit to and withdraw from Lighter using the Relay API" --- +import QuoteV2AuthCallout from "/snippets/QuoteV2AuthCallout.mdx"; + + Relay supports depositing and withdrawing to Lighter from any supported chain. You can try depositing today using the [Relay App](https://relay.link/bridge/lighter) (note: withdrawing is not yet supported in the app). This document details how to integrate Lighter into your application. ## Prerequisites @@ -45,6 +48,8 @@ For more details, see the [Lighter API documentation](https://apidocs.lighter.xy ## How to deposit + + ```bash Request curl 'https://api.relay.link/quote/v2' \ diff --git a/references/api/api_guides/solana.mdx b/references/api/api_guides/solana.mdx index 5d4a44df..eb3060f3 100644 --- a/references/api/api_guides/solana.mdx +++ b/references/api/api_guides/solana.mdx @@ -3,6 +3,9 @@ title: Solana Support description: How to Deposit or Withdraw on Solana from an EVM Chain --- +import QuoteV2AuthCallout from "/snippets/QuoteV2AuthCallout.mdx"; + + Relay now fully supports depositing & withdrawing to Solana from any EVM chain we support. This is a great way to get users funds on Solana to complete transactions. You can onboard users funds from Blast ETH to Solana USDC to make @@ -79,6 +82,8 @@ there’s different calldata that needs to be handled accordingly. ### Example: Deposit to Solana from Base + + ```bash Request curl -X POST "https://api.relay.link/quote/v2" \ diff --git a/references/api/get-quote-v2.mdx b/references/api/get-quote-v2.mdx index a6a994b1..33f0ffd4 100644 --- a/references/api/get-quote-v2.mdx +++ b/references/api/get-quote-v2.mdx @@ -3,3 +3,8 @@ title: "Get Quote" description: "This API returns an executable quote for swapping, bridging and calling" openapi: post /quote/v2 --- + +import QuoteV2AuthCallout from "/snippets/QuoteV2AuthCallout.mdx"; + + + diff --git a/references/api/quickstart.mdx b/references/api/quickstart.mdx index 67f642e1..2823d6d3 100644 --- a/references/api/quickstart.mdx +++ b/references/api/quickstart.mdx @@ -3,6 +3,9 @@ title: 'Quickstart' description: 'Execute your first cross-chain transaction in under 5 minutes.' --- +import QuoteV2AuthCallout from "/snippets/QuoteV2AuthCallout.mdx"; + + import StatusWebsockets from "/snippets/StatusWebsockets.mdx"; Relay is a multichain payments network. You define the **Intent** (what the user wants), and Relay handles the **Execution** (how to get there). @@ -25,6 +28,8 @@ Follow this 5-step flow to integrate Relay into your application: ### API key Provisioning Create an API key in the [Relay Dashboard](https://dashboard.relay.link).
See [API keys and Rate Limits](/references/api/api-keys) for usage and limits. + + ## Chain Configuration diff --git a/references/relay-kit/sdk/actions/getQuote.mdx b/references/relay-kit/sdk/actions/getQuote.mdx index ef5628b6..5dc4c369 100644 --- a/references/relay-kit/sdk/actions/getQuote.mdx +++ b/references/relay-kit/sdk/actions/getQuote.mdx @@ -3,6 +3,9 @@ title: getQuote description: Get a quote for a cross-chain relay (bridge, swap, call, etc) --- +import QuoteV2AuthCallout from "/snippets/QuoteV2AuthCallout.mdx"; + + ## Arguments | Property | Description | Required | @@ -15,6 +18,9 @@ description: Get a quote for a cross-chain relay (bridge, swap, call, etc) **Warning**: Never pass `x-api-key` in headers from client-side code. Only use the `headers` parameter with API keys when calling `getQuote` entirely on the server. + + + ## Quote Parameters | Property | Description | Required | diff --git a/snippets/QuoteV2AuthCallout.mdx b/snippets/QuoteV2AuthCallout.mdx new file mode 100644 index 00000000..210a0e51 --- /dev/null +++ b/snippets/QuoteV2AuthCallout.mdx @@ -0,0 +1,3 @@ + +Starting **October 2, 2026**, `POST /quote/v2` will require a valid API key on every request. Pass your key in the `x-api-key` header — see [API keys and Rate Limits](/references/api/api-keys#how-to-use-an-api-key). Requests that include a `referrer` already require the key today. `quote/v2` remains fully supported for authenticated requests. +