# SDKs

> Find Bolt libraries by product, platform, and runtime.

Source: https://help.boltapp.com/getting-started/sdks

Choose a library after [selecting a Bolt integration](/getting-started/choose-integration). Each entry identifies the product and runtime it supports.

<nav className="bolt-section-nav not-prose" aria-label="SDK sections">
  <a href="#frontend-sdks">
    Frontend SDKs
  </a>

  <a href="#gaming">
    Gaming
  </a>

  <a href="#marketplaces">
    Marketplaces
  </a>

  <a href="#backend-sdks">
    Backend SDKs
  </a>
</nav>

## Frontend SDKs [#frontend-sdks]

Pick the library for the product you chose and the client you ship. Frontend SDKs render or open Bolt checkout; they never hold your API key.

<SdkCollection>
  <SdkEntry platform="web" product="Managed Checkout" packageName="connect.js" href="/platforms/direct-api" title="JS Embed">
    Open Bolt checkout from a web storefront.
  </SdkEntry>

  <SdkEntry platform="ios" product="Managed Checkout" packageName="BoltCheckoutSDK" href="/developers/sdks/ios-swift/checkout" title="iOS / Swift">
    Open Bolt checkout from an iOS app.
  </SdkEntry>

  <SdkEntry platform="android" product="Managed Checkout" packageName="com.bolt:checkout" href="/developers/sdks/android-kotlin/checkout" title="Android / Kotlin">
    Open Bolt checkout from an Android app.
  </SdkEntry>

  <SdkEntry platform="web" product="Embedded API" packageName="embed.js" href="/products/embeddable-checkout" title="JS Embed">
    Bolt card fields inside your own checkout page.
  </SdkEntry>

  <SdkEntry platform="react" product="Embedded API" packageName="@boltpay/react-native" href="/developers/sdks/react-native" title="React Native">
    Card fields, Apple Pay, and Google Pay in a mobile app.
  </SdkEntry>
</SdkCollection>

## Gaming [#gaming]

<SdkCollection>
  <SdkEntry platform="unity" product="Gaming" packageName="com.bolt.sdk" href="/gaming/platforms/unity/intro/overview" title="Unity">
    Open checkout links from a Unity game.
  </SdkEntry>

  <SdkEntry platform="javascript" product="Gaming" packageName="@boltpay/bolt-js" href="/gaming/platforms/javascript/intro/overview" title="JavaScript">
    Open checkout links from a web game.
  </SdkEntry>
</SdkCollection>

The gaming JavaScript package is not the browser client for Managed Checkout; web storefronts use the JS Embed above. Payment links and webhooks are covered by the [Gaming quickstart](/gaming/guide/quickstart).

## Marketplaces [#marketplaces]

<SdkCollection>
  <SdkEntry platform="javascript" product="Marketplace Connect" packageName="@boltpay/bolt-connect-sdk" href="/api-reference/guides/connect-onboarding" title="Bolt Connect">
    Seller onboarding component and status helpers.
  </SdkEntry>
</SdkCollection>

## Backend SDKs [#backend-sdks]

Generated clients for calling the Bolt API from your server with your API key. Check each repository's operations against the endpoint you need before adopting one.

<FieldSection>
  <SdkRepositories>
    <SdkRepository language="TypeScript" href="https://github.com/BoltApp/Bolt-Typescript-SDK">
      Bolt TypeScript SDK
    </SdkRepository>

    <SdkRepository language="Python" href="https://github.com/BoltApp/Bolt-Python-SDK">
      Bolt Python SDK
    </SdkRepository>

    <SdkRepository language="Go" href="https://github.com/BoltApp/bolt-go">
      bolt-go
    </SdkRepository>

    <SdkRepository language="C#" href="https://github.com/BoltApp/Bolt-CSharp-SDK">
      Bolt C# SDK
    </SdkRepository>

    <SdkRepository language="PHP" href="https://github.com/BoltApp/bolt-php">
      bolt-php
    </SdkRepository>
  </SdkRepositories>

  <FieldNote title="Check SDK maturity">
    The TypeScript, Python, Go, and C# repositories label their generated SDKs as beta and recommend pinning a package version. Review the repository README before adopting one. You can also call the REST API directly.

    For Custom Cart:

    * The Python SDK wraps `POST /v1/merchant/orders`, standard Merchant Callback URL registration, and webhook subscription management.
    * The TypeScript, Go, and C# Orders clients target `/v3/orders`. They do not create Custom Cart order tokens.
    * The older PHP library includes `ApiClient::createOrder()` and an HMAC signature helper, but its examples use older API hostnames. Follow the current Custom Cart guides for URLs and payloads.

    [Review API authentication](/api-reference/authentication)
  </FieldNote>
</FieldSection>

## Related [#related]

<CardGroup cols="2">
  <Card title="Get your API keys" icon="key-round" href="/getting-started/api-keys">
    Copy credentials for the correct environment and division.
  </Card>

  <Card title="Review authentication" icon="shield-check" href="/api-reference/authentication">
    Match each credential and request header to its purpose.
  </Card>
</CardGroup>
