diff --git a/fern/docs.yml b/fern/docs.yml
index 3a91a10d..e5737e77 100644
--- a/fern/docs.yml
+++ b/fern/docs.yml
@@ -306,6 +306,9 @@ navigation:
- page: Get Started
slug: get-started-with-solana-swap-api
path: docs/pages/solana-swap-api/guides/get-started.mdx
+ - page: Monetize Your App
+ slug: monetize-your-app
+ path: docs/pages/solana-swap-api/guides/monetize-your-app.mdx
- page: Important Integration Notes
slug: important-integration-notes
path: docs/pages/solana-swap-api/guides/important-integration-notes.mdx
diff --git a/fern/docs/pages/0x-swap-api/guides/monetize-your-app-using-swap.mdx b/fern/docs/pages/0x-swap-api/guides/monetize-your-app-using-swap.mdx
index 53809d73..32f2e50d 100644
--- a/fern/docs/pages/0x-swap-api/guides/monetize-your-app-using-swap.mdx
+++ b/fern/docs/pages/0x-swap-api/guides/monetize-your-app-using-swap.mdx
@@ -1,5 +1,5 @@
---
-title: Monetize Your App
+title: Monetize Your App on EVM
description: This guide covers how you can monetize your app by using the 0x Swap API.
---
diff --git a/fern/docs/pages/introduction/faq.mdx b/fern/docs/pages/introduction/faq.mdx
index 9bbfd46b..38ccc482 100644
--- a/fern/docs/pages/introduction/faq.mdx
+++ b/fern/docs/pages/introduction/faq.mdx
@@ -595,7 +595,7 @@ https://api.0x.org/gasless/quote # Request a firm quote
**For an integrator fee address:** No. You should assume the fee recipient ATA must already exist. If it may not exist, add a `createAssociatedTokenAccountIdempotent` instruction for the fee recipient + fee token mint yourself, **before** the swap/fee transfer path. See the [Integrator Byte Costs](/svm/solana-swap-api/guides/integrator-byte-costs) guide for how to account for the extra bytes this adds.
- The relevant field is [`swap_fee_recipient`](/api-reference/solana-swap-ap-is/swap/instructions#swap_fee_recipient) — it accepts either a wallet address (for native SOL output) or a valid token account address (for token outputs).
+ The relevant field is [`swap_fee_recipient`](/api-reference/solana-swap-ap-is/swap/instructions#request.body.swap_fee_recipient) — it accepts either a wallet address (for native SOL output) or a valid token account address (for token outputs).
diff --git a/fern/docs/pages/solana-swap-api/guides/important-integration-notes.mdx b/fern/docs/pages/solana-swap-api/guides/important-integration-notes.mdx
index 8454e631..e5c0d5a3 100644
--- a/fern/docs/pages/solana-swap-api/guides/important-integration-notes.mdx
+++ b/fern/docs/pages/solana-swap-api/guides/important-integration-notes.mdx
@@ -24,7 +24,7 @@ We currently return **a single flat array of instructions.** Here's what’s cur
- **Setup Instructions (N):**
- These create associated token accounts (ATAs) for the user (`taker`) as needed. This uses `createIdempotent`, so instructions won’t fail if an ATA already exists.
- The number of instructions (`N`) depends on how many tokens the route involves, sometimes there may be 1 extra instruction for native SOL support (for certain DEXs).
- - **Integrator fee recipient ATAs are not created automatically.** The [`swap_fee_recipient`](/api-reference/solana-swap-ap-is/swap/instructions#swap_fee_recipient) field accepts either a wallet address (for native SOL output) or a valid token account address (for token outputs). If you're collecting fees on a token output, the token account you pass must already exist — 0x will not create it. If it may not exist, add a `createAssociatedTokenAccountIdempotent` instruction for the fee recipient + fee token mint **before** the swap/fee transfer path. See the [Integrator Byte Costs](/svm/solana-swap-api/guides/integrator-byte-costs) guide for how to account for those extra bytes.
+ - **Integrator fee recipient ATAs are not created automatically.** The [`swap_fee_recipient`](/api-reference/solana-swap-ap-is/swap/instructions#request.body.swap_fee_recipient) field accepts either a wallet address (for native SOL output) or a valid token account address (for token outputs). If you're collecting fees on a token output, the token account you pass must already exist — 0x will not create it. If it may not exist, add a `createAssociatedTokenAccountIdempotent` instruction for the fee recipient + fee token mint **before** the swap/fee transfer path. See the [Integrator Byte Costs](/svm/solana-swap-api/guides/integrator-byte-costs) guide for how to account for those extra bytes.
- **Swap Instruction (1):**
- A single instruction on our [**Settler**](https://github.com/0xProject/0x-settler) program to perform the actual swap.
- **Cleanup Instructions (as required):**
diff --git a/fern/docs/pages/solana-swap-api/guides/monetize-your-app.mdx b/fern/docs/pages/solana-swap-api/guides/monetize-your-app.mdx
new file mode 100644
index 00000000..b34b467c
--- /dev/null
+++ b/fern/docs/pages/solana-swap-api/guides/monetize-your-app.mdx
@@ -0,0 +1,70 @@
+---
+title: Monetize Your App on Solana
+description: This guide covers how you can monetize your app by using the 0x Solana Swap API.
+---
+
+## Introduction
+
+Integrate in-app swaps to let users trade seamlessly and at the best prices across Solana's top DEXs. As your app grows, you can monetize those trades with volume-baesd fees (aka affiliate fees, trading fees, or commision) to generate revenue and build a sustainable business. Available on all pricing plans.
+
+See our [Monetization Report](https://0x.org/reports/monetization-across-defi-report) to learn how top DeFi apps are turning trading activity into millions.
+
+## Collect volume-based fees
+
+The 0x Solana Swap API supports one or more volume-based fees within a single swap request. This lets you route fees to multiple recipients with independently specified amounts and sides — perfect for multi-product apps, partner revenue-share setups, or flexible monetization strategies.
+
+To apply volume-based fees, include the following fields in the body of your [`/solana/swap-instructions` request](/api-reference/solana-swap-ap-is/swap/instructions):
+
+- [`swap_fee_ppm`](/api-reference/solana-swap-ap-is/swap/instructions#request.body.swap_fee_ppm) — the fee amount(s) in **parts per million (ppm)**.
+- [`swap_fee_recipient`](/api-reference/solana-swap-ap-is/swap/instructions#request.body.swap_fee_recipient) — the account(s) to receive the fees.
+- [`swap_fee_side`](/api-reference/solana-swap-ap-is/swap/instructions#request.body.swap_fee_side) — _(optional)_ the side each fee is charged on: `buy` (the output token) or `sell` (the input token).
+
+
+ Fees on Solana are expressed in **parts per million (ppm)**, not basis points.
+ `1000000` ppm = 100%, so a 1% fee is `10000` ppm and a 5% fee is `50000` ppm.
+
+
+### Multiple fees and recipients
+
+Each comma-separated position defines one fee entry, so a single request can charge several fees to several recipients across both sides:
+
+```json
+{
+ "swap_fee_ppm": "50000,25000,10000",
+ "swap_fee_recipient": "recipient1,recipient2,recipient3",
+ "swap_fee_side": "buy,buy,sell"
+}
+```
+
+In this example, a 5% and a 2.5% fee are collected on the buy token for two different recipients, and a 1% fee is collected on the sell token for a third.
+
+
+ Fees on the **same side** are applied **sequentially**: each entry is charged
+ on the amount remaining after the previous entries on that side have been
+ deducted, not on the original amount. For example, two buy-side fees of
+ `50000` and `25000` ppm produce an effective fee of 7.375%, not 7.5%. Each fee
+ amount is rounded up to the next base unit when needed.
+
+
+### Buy-side vs sell-side fees
+
+- **`buy`** — the fee is taken from the output token. This reduces the `amount_out` returned in the quote.
+- **`sell`** — the fee is taken from the input token before the swap is routed. This reduces the amount routed into the swap.
+
+### Fee recipient accounts
+
+If a fee recipient is the taker's own token account for that side, the fee is treated as absent (not a self-transfer) and is omitted from the quote and the returned instructions. See [Important Integration Notes](/svm/solana-swap-api/guides/important-integration-notes) for details on fee recipient token accounts, including why 0x does not create them for you.
+
+### Displaying fees
+
+The fee you charge is fully determined by the values you send in the request, so you can display it in your UI directly from those: each `swap_fee_ppm` rate, the token it is charged in (the output token for a `buy` fee, the input token for a `sell` fee), and its `swap_fee_recipient`.
+
+The quote already reflects any buy-side fees: the returned `amount_out` is net of them, so the value you show the user as the amount received is correct as-is. Sell-side fees reduce the amount routed into the swap before the quote is produced.
+
+For the complete request and response schema, see the [API Reference](/api-reference/solana-swap-ap-is/swap/instructions).
+
+### Pricing considerations
+
+When deciding how much to charge, set your pricing in a way that strengthens your bottom line while aligning with the value you provide to customers. The volume-based fee impacts the price for the end user, so find the sweet spot where your solution remains competitive.
+
+Be aware that `swap_fee_ppm` has a default per-app limit of `100000` ppm (10%). The cap is enforced **per fee entry, not on the combined total**: each fee in the list is validated individually against the limit. For example, two sell-side fees of `60000` ppm (6%) each are both accepted under a `100000` ppm cap, even though they sum to 12%, because neither individual entry exceeds the cap. If your application requires a higher per-entry value, [please reach out to us](https://docs.0x.org/docs/introduction/need-help#-contact-developer-support-fastest-direct-help).