> ## Documentation Index
> Fetch the complete documentation index at: https://docs.barker.money/llms.txt
> Use this file to discover all available pages before exploring further.

# Choosing an integration mode

> Embed iframe vs Headless API — which one fits your product.

Barker Yield Engine supports two integration modes. They run against the same engines and the same on-chain fee split — the only difference is **where the deposit/withdraw UI lives**.

## Side-by-side

| Dimension                                            | Embed (iframe)                                                                                                            | Headless API                                                 |
| ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------ |
| **Time to first deposit**                            | \~30 minutes                                                                                                              | 1–2 days                                                     |
| **Where the UI runs**                                | Our domain (`app.barker.money`), inside your iframe                                                                       | Your domain, your code                                       |
| **Wallet connection**                                | We handle it (Reown / WalletConnect)                                                                                      | You handle it (Wagmi / RainbowKit / your existing connector) |
| **Transaction signing**                              | We construct, your user signs in their wallet                                                                             | You construct, your user signs in their wallet               |
| **Custom layout / multi-step flow**                  | Limited (iframe is one self-contained surface)                                                                            | Full control                                                 |
| **Native mobile UI**                                 | Works in WebView, not native                                                                                              | Native (you build it)                                        |
| **Multi-tier display (3 APY options on one screen)** | One iframe = one product, so 3 iframes side-by-side OR a tabbed wrapper                                                   | Single React/Vue component, your call                        |
| **Brand consistency with rest of app**               | Themeable (color / logo / name), but layout is ours                                                                       | Pixel-identical to your product                              |
| **Engineering ownership**                            | We ship UI updates, you get them automatically                                                                            | You own the deposit/withdraw UI lifecycle                    |
| **Security review surface**                          | iframe + CSP `frame-src` allowlist                                                                                        | Wallet integration + contract calls in your codebase         |
| **Both modes share**                                 | Same `BarkerEngine` contract · Same partner API key · Same APY · Same fee split · Same webhooks · Same compliance posture |                                                              |

## Decision tree

**Pick Embed if any of the following:**

* You want to ship in a sprint, not a quarter
* You don't have a frontend engineer with on-chain experience available
* The deposit flow is a self-contained "Earn" tab, not interleaved with other steps
* You're A/B testing whether yield even belongs in your product before committing engineering time

**Pick Headless API if any of the following:**

* The deposit must be one step inside a longer flow (KYC → deposit → top-up → confirmation)
* Your product has a custom design system that an iframe would break
* You want native mobile (iOS / Android) UI, not WebView
* You want to display multiple Barker products (e.g. 3 risk tiers) on one screen with custom comparison UI
* Regulatory or InfoSec posture requires that the deposit UI runs on your origin only

## Can I mix both?

Yes. They're not mutually exclusive — same partner account, same engine, same key. Common patterns:

* **Embed for web, headless for mobile** — fastest desktop launch, native iOS/Android in v2
* **Embed in onboarding, headless in dashboard** — quick "Try yield" CTA, deeper portfolio view later
* **Headless for primary, embed as fallback** — internal "Open in Barker" debug link

The same product slug works in both modes.

## What's next

* [Embed iframe →](/embed)
* [Headless API end-to-end →](/integration-api)
* [Multi-tier products →](/multi-tier-products) — offer 3 risk profiles in either mode
