> For the complete documentation index, see [llms.txt](https://docs.kima.network/kima-network/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.kima.network/kima-network/the-kima-sdk/add-kima-widget-to-your-app/widget-payment-mode.md).

# Payment Mode

`mode = ModeOptions.payment`

Payment mode allows your users to pay for a product or service using stablecoins from any chain supported by Kima.

* The payment details are passed into the Widget via the `transactionOption` prop (required)
* The user can choose to pay from any [chain](/kima-network/supported-assets.md) and [token](/kima-network/supported-tokens.md) supported by Kima. The funds will be transferred to the wallet and chain specified in the `transactionOption` prop
* The title and subtitle can be customized using the `titleOption` and `paymentTitleOption` props

> ⚠️ `transactionOption.currency` must be a token symbol that is currently supported by Kima for the selected environment (`mainnet` or `testnet`) and selected chain. Resolve supported symbols dynamically from `/chains` in your backend. ℹ️ The example below uses `USDC`, which is valid on mainnet for Solana. If you are testing on Sardis, replace it with a supported testnet token such as `USDK`.

```tsx
import React from "react";

import {
  KimaTransactionWidget,
  KimaProvider,
  ModeOptions,
  ChainName,
  ColorModeOptions,
} from "@kimafinance/kima-transaction-widget";
import "@kimafinance/kima-transaction-widget/index.css";

const App = () => {
  return (
    <KimaProvider
      projectId='your-project-id'
      kimaBackendUrl="http://localhost:4000"
    >
      <KimaTransactionWidget
        theme={{ colorMode: ColorModeOptions.light }}
        mode={ModeOptions.payment}
        titleOption={{
          initialTitle: "New Purchase",
        }}
        paymentTitleOption={{
          title: "Buy MyFirst NFT",
          style: {
            fontSize: "1.2em",
            fontWeight: "500",
            color: "#DDDDDD",
          },
        }}
        transactionOption={{
          targetChain: ChainName.SOLANA,
          targetAddress: "5tvyUUqPMWVGaVsRXHoQWqGw6h9uifM45BHCTQgzwSdr",
          amount: 12.34,
          currency: "USDC",
        }}
      />
    </KimaProvider>
  );
};

export default App;
```

You should see a page that looks like this:

<figure><img src="/files/RJvw0BxQdVH7pQPHcfeo" alt=""><figcaption></figcaption></figure>

The payment (target) wallet and chain will show on the next step when the user completes the authorization for the transfer amount.

<figure><img src="/files/ts3OiZy7Wxk20YPNw1j3" alt=""><figcaption></figcaption></figure>

Once the user completes the authorization step and submits the transaction, the user can see the transaction status in the next step.

<figure><img src="/files/pXGFi9Yf4yGaqI5shmvy" alt=""><figcaption></figcaption></figure>

For more details on how to get transaction status of a previous transaction, check the [Widget Status Mode Section](/kima-network/the-kima-sdk/add-kima-widget-to-your-app/widget-status-mode.md).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.kima.network/kima-network/the-kima-sdk/add-kima-widget-to-your-app/widget-payment-mode.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
