Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion references/api/api-keys.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ Already hitting a limit? See [Handling Rate Limits](/references/api/api_core_con
## How to Use an API key

<Warning>
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.
</Warning>

### HTTP requests
Expand Down
5 changes: 5 additions & 0 deletions references/api/api_guides/bitcoin.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down Expand Up @@ -107,6 +110,8 @@ documentation, then use the [Get Quote](/references/api/get-quote-v2) endpoint.

### Example: Withdraw from Bitcoin to Base

<QuoteV2AuthCallout />

<CodeGroup>
```bash Request
curl -X POST "https://api.relay.link/quote/v2" \
Expand Down
5 changes: 5 additions & 0 deletions references/api/api_guides/bridging-integration-guide.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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";
Expand All @@ -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.

<QuoteV2AuthCallout />

<CodeGroup>
```bash EXACT_INPUT
curl -X POST "https://api.relay.link/quote/v2" \
Expand Down
5 changes: 5 additions & 0 deletions references/api/api_guides/builder-codes.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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).

---
Expand All @@ -17,6 +20,8 @@ Builder codes only work for quotes that route through the Relay Depository contr

### Example

<QuoteV2AuthCallout />

```typescript expandable
import {
createWalletClient,
Expand Down
5 changes: 5 additions & 0 deletions references/api/api_guides/calling-integration-guide.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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";

Expand Down Expand Up @@ -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.

<QuoteV2AuthCallout />

```bash
curl -X POST "https://api.relay.link/quote/v2" \
-H "Content-Type: application/json" \
Expand Down
5 changes: 5 additions & 0 deletions references/api/api_guides/hyperliquid-support.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
<QuoteV2AuthCallout />

<CodeGroup>
```bash Request
curl 'https://api.relay.link/quote/v2' \
Expand Down
5 changes: 5 additions & 0 deletions references/api/api_guides/lighter-support.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -45,6 +48,8 @@ For more details, see the [Lighter API documentation](https://apidocs.lighter.xy

## How to deposit

<QuoteV2AuthCallout />

<CodeGroup>
```bash Request
curl 'https://api.relay.link/quote/v2' \
Expand Down
5 changes: 5 additions & 0 deletions references/api/api_guides/solana.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -79,6 +82,8 @@ there’s different calldata that needs to be handled accordingly.

### Example: Deposit to Solana from Base

<QuoteV2AuthCallout />

<CodeGroup>
```bash Request
curl -X POST "https://api.relay.link/quote/v2" \
Expand Down
5 changes: 5 additions & 0 deletions references/api/get-quote-v2.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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";

<QuoteV2AuthCallout />

5 changes: 5 additions & 0 deletions references/api/quickstart.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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).
Expand All @@ -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). <br/>
See [API keys and Rate Limits](/references/api/api-keys) for usage and limits.

<QuoteV2AuthCallout />
</Callout>

## Chain Configuration
Expand Down
6 changes: 6 additions & 0 deletions references/relay-kit/sdk/actions/getQuote.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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 |
Expand All @@ -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.
</Warning>

<QuoteV2AuthCallout />


## Quote Parameters

| Property | Description | Required |
Expand Down
3 changes: 3 additions & 0 deletions snippets/QuoteV2AuthCallout.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
<Warning>
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.
</Warning>
Loading