Partner Integration

Distributing TRUE inside another product — widget embed, white-label MCP, branded chat, revenue share.

What this is

Partners distribute TRUE inside their own products. The integration is meant to be small and reversible: you embed an iframe widget, provision branded MCP keys for your users, or run a co-branded chat surface — and you can pull any of those without breaking the rest. Revenue share, SLA, and a dedicated infrastructure tier come on the partner contract.

Integration paths

  • Widget embed — drop a small JS snippet and an iframe; your users get the TRUE chat surface inside your product.
  • White-label MCP — your users hit your branded MCP endpoint; underneath, it proxies to TRUE.
  • Branded chat surface — full-page chat with your colors, logo, and copy, served on your subdomain.
  • API integration — your backend calls TRUE APIs and renders the responses in your own UI.

Required disclosures

Every surface that displays TRUE-generated content (chat answers, signals, Highlights) must carry the not financial advice notice. The exact wording is provided in the partner kit and translated into all eight supported languages. Surfaces that allow agentic execution must surface the SAE controls (cap, pause, revoke) without the user having to leave your product.

Compliance obligations when redistributing TRUE
  • Decision support, not financial advice. Disclose on every signal-bearing surface, in the user’s locale.
  • Self-custody preserved. Never present the user as needing a custodial account with TRUE.
  • Geo-restrictions enforced. Block restricted jurisdictions before the integration loads. The geo headers from TRUE’s API are authoritative.
  • Audit trail kept. Maintain logs for the period required by your jurisdiction.
  • Content guidelines. No financial-advice language, no guaranteed-return claims, no proprietary “edge” framing on TRUE-sourced output.

Branding tokens

The widget and white-label flows accept a small set of branding tokens — primary color, logo URL, font family, accent color, and the locale to pin. The TRUE design system adapts: dark/light mode is preserved, the layout doesn’t shift, and accessibility ratios stay within spec.

Locale forwarding

End-user locale must be forwarded so users see TRUE in their language. Pass the locale on init (widget) or as the Accept-Language header (API). Without forwarding, TRUE falls back to its own Accept-Language detection — which is correct most of the time but not all of the time.

SLA and support escalation

Partner-tier support runs on a 24-hour acknowledgement and a 4-hour critical-incident response. The dedicated infrastructure tier moves you to a separate API edge with capacity isolation; capacity guarantees are negotiated per partner.

Revenue share

Volume-based revenue share applies to swaps and to MCP execution call volume. The exact split, the calculation cadence, and the payout currency are on the partner contract. Reporting is exposed via the partner dashboard with a CSV export.

For Developers

SSO

Partner SSO uses OIDC. Once configured, the user’s session in your product is exchanged for a TRUE wallet-bound JWT, so the chat surface comes up already authenticated. The mapping between your user identity and a TRUE wallet is owned by your side; TRUE only sees the wallet pubkey.

// Pseudocode — exchange your session for a TRUE JWT
const r = await fetch('https://app.truefinance.ai/api/v1/partner/sso/exchange', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.PARTNER_API_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    user_pubkey: userPubkey,
    locale: user.locale,
    branding: { primary: '#9369E6', logo_url: '...' },
  }),
});
const { jwt, expires_at } = await r.json();

Widget snippet

<script src="https://app.truefinance.ai/widget.js" defer></script>
<div id="true-chat"
     data-jwt="..."
     data-locale="en"
     data-theme="auto"
     data-primary="#9369E6"></div>

Safety, limits, failure modes

  • Disclosure compliance is audited at onboarding and re-audited on contract renewal.
  • Locale forwarding mismatches — passing an unsupported locale falls back to English with a translate-missing banner.
  • Geo-block enforcement — restricted-jurisdiction users that bypass the partner check still get blocked at the TRUE edge, but the responsibility to gate is on the partner.
  • Branding tokens — extreme contrast values that fail accessibility ratios are clamped server-side rather than rendered as-is.

See also

Last updated: