Skip to main content

options

The options prop groups behavior switches that don't affect visual styling. Every field is optional.

interface TaxKitOptions {
apiBaseUrl?: string;
mode?: 'production' | 'alpha' | 'mock';
flow?: 'one-way' | 'continuous';
overlayMode?: 'drawer' | 'dialog' | 'responsive';
defaultOpen?: boolean;
hideNavigationBar?: boolean;
hideBackButton?: boolean;
helpLinkUrl?: string;
hostPageUrl?: string;
}

Fields

options.mode'production' | 'alpha' | 'mock'default 'production'

Environment selector.

  • 'production' — live CoinTracker backend. Use this in your prod build.
  • 'alpha' — pre-release environment for early integration testing. Coordinate with your CoinTracker contact before pointing here.
  • 'mock' — skip the backend entirely; the iframe runs with simulated data. Useful for local development without a token-minting flow. See Local development.
options.flow'one-way' | 'continuous'default 'one-way'

Which in-app flow the iframe should render.

  • 'one-way' (default) — Coinbase-style one-shot onboarding ending in a final import.
  • 'continuous' — Kraken-style flow that keeps the kit available for ongoing sync after the initial onboarding.

Most partners use 'one-way'.

options.overlayMode'drawer' | 'dialog' | 'responsive'default 'drawer'

How the kit styles its own internal pop-ups (e.g. the add-connection sheet). This is independent of where the iframe sits — full-screen overlay vs. embedded inline via the container prop.

  • 'drawer' — bottom sheet (mobile-style). Default.
  • 'dialog' — centered modal (desktop-style).
  • 'responsive' — drawer on mobile viewports, dialog on desktop.

When embedding inline in a small container, 'dialog' usually looks better than a bottom 'drawer'.

options.defaultOpenbooleandefault false

Render the SDK already open on first paint. Use this on dedicated tax pages so users land with the kit open instead of having to click a button first.

This avoids password-manager "Save password?" prompts triggered by the click-then-form-appeared pattern.

options.hideNavigationBarbooleandefault false

Hide the iframe's top navigation bar. Useful when your partner shell already provides global navigation and you want the iframe to feel embedded rather than full-screen.

options.hideBackButtonbooleandefault false

Hide the back button inside the iframe's navigation bar. The iframe's internal routing also declares per-route hide-back behavior — the provider-level switch is an override on top of that.

options.helpLinkUrlstring

URL surfaced as the "Help" link from inside the iframe. Use your partner help-center URL so users get partner-branded support rather than CoinTracker's generic one.

options.hostPageUrlstring

Parent page URL — only required when the iframe cannot read window.parent.location.href due to cross-origin restrictions. The iframe uses this for OAuth redirect bookkeeping. Most partners don't need to set this.

options.apiBaseUrlstringdefault 'https://embedded.cointracker.com'

Origin where the iframe is hosted. Partners almost never need to override the default. Use this only when CoinTracker tells you to (e.g. for region-pinned deployments).

Example

<TaxKitProvider
fetchAccessToken={fetchAccessToken}
options={{
mode: 'production',
flow: 'one-way',
overlayMode: 'responsive',
defaultOpen: false,
helpLinkUrl: 'https://help.your-partner.com/tax',
}}
>
<YourApp />
</TaxKitProvider>