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

# Text keys

> Every piece of text in the React UI components that you can replace, grouped by screen, with its default value and placeholders.

Every piece of text in `@dynamic-labs-sdk/react-ui` has an English default that you can replace, such as to match your product's voice or to translate the widgets. This page lists every text key, grouped by the screen where it appears.

## How to replace text

Pass a `text` dictionary to `DynamicUiProvider`. The first level is the **slot**, which names the component, and the second level is the **key**, which names one piece of text in it:

```tsx theme={"system"}
import { DynamicUiProvider } from "@dynamic-labs-sdk/react-ui";

<DynamicUiProvider
  className="dyn-flow-root"
  text={{
    "dyn-connect-wallet-option-widget": {
      listTitle: "Choose your wallet",
    },
    "dyn-flow-choose-payment-source-view": {
      title: "How would you like to pay?",
      sendToAddress: "Send crypto to an address",
    },
  }}
>
  <App />
</DynamicUiProvider>;
```

Keep these rules in mind:

* **Set only what you change.** A key you leave out keeps its default.
* **Slots and keys are checked.** The dictionary is typed, so a misspelled slot or key is a TypeScript error rather than text that silently stays on its default.
* **Placeholders are optional.** A key whose default contains a placeholder, such as `{wallet}`, replaces it when the widget renders. Your text can use that placeholder or leave it out. A key only fills the placeholders listed for it, and any other text in braces is shown as written.
* **Shared components change everywhere.** Components such as the panel header and the search field appear in several widgets, so a key in their slot applies to all of them. To change text in one place only, wrap that part of your app in `TextProvider`, which takes the same `text` dictionary. Nested dictionaries merge, and the innermost value wins.
* **Some text is for screen readers only.** Keys described as screen reader text, such as `announcement`, are not visible but are read aloud by assistive technology. Translate them with the rest of the text.

The tables show each default exactly as the component renders it, including its punctuation.

## Wallet connection

Text in the [connect wallet widget](https://www.dynamic.xyz/docs/javascript/building-ui/react-ui/connect-wallet-widget.md). The Flow payment widget uses the same screens when the payer connects a wallet.

### `dyn-connect-wallet-option-widget`

Screen titles and status messages of the connect wallet widget.

| Key | Default | Description |
| - | - | - |
| `chainPickerTitle` | `Choose a chain` | Title of the chain choice. |
| `connectedStatusMessage` | `{wallet} connected.` | Confirmation line once the wallet connects. `{wallet}` is replaced by the wallet's display name. |
| `connectedTitle` | `{wallet}` | Title once the wallet account connects. `{wallet}` is replaced by the wallet's display name. |
| `connectingStatusMessage` | `Approve the connection in {wallet} to continue.` | Waiting line while the wallet holds the approval. `{wallet}` is replaced by the wallet's display name. |
| `connectingTitle` | `Connect {wallet}` | Title while the wallet holds the approval or the app redirects into its in-app browser. `{wallet}` is replaced by the wallet's display name. |
| `errorStatusMessage` | `{wallet} didn’t connect. Please try again.` | Shown when the connection fails or is declined. `{wallet}` is replaced by the wallet's display name. |
| `errorTitle` | `Couldn’t connect` | Title when the connection fails or is declined. |
| `listTitle` | `Connect a wallet` | Title of the wallet list. |
| `qrCodeTitle` | `Scan with {wallet}` | Title of the QR code screen. `{wallet}` is replaced by the wallet's display name. |
| `redirectingStatusMessage` | `Connect from browser in {wallet}` | Lead line while the app reloads into the wallet's in-app browser. `{wallet}` is replaced by the wallet's display name. |
| `redirectingStatusSecondaryMessage` | `If the wallet app isn’t installed on your device, you may not be redirected.` | Secondary line under the redirecting status warning that nothing may happen when the wallet app is not installed. |
| `tryAgainLabel` | `Try again` | Label of the button that retries a failed connection. |

### `dyn-wallet-list`

The searchable list of wallets.

| Key | Default | Description |
| - | - | - |
| `empty` | `No wallets available` | Message shown when no wallets are available. |
| `error` | `Couldn’t load wallets` | Message shown when wallets fail to load. |
| `installed` | `Installed` | Badge on a wallet whose browser extension is installed. |
| `remainingNoun` | `Wallets` | Noun in the row that shows more wallets, such as "12 Wallets". |
| `searchPlaceholder` | `Search for wallets` | Placeholder and screen reader name of the search field. |

### `dyn-wallet-chain-list`

The chain choice, shown when a wallet supports more than one chain.

| Key | Default | Description |
| - | - | - |
| `message` | `This wallet supports multiple chains. Select which chain you'd like to connect to` | The message above the chain options. |

### `dyn-wallet-connect-qr-code`

The QR code screen for wallets that connect by pairing, such as through WalletConnect.

| Key | Default | Description |
| - | - | - |
| `copyUriLabel` | `Copy QR URI` | Label of the copy-to-clipboard button under the QR code. |
| `helper` | `Scan this QR code from your mobile wallet or phone’s camera to connect.` | Helper line under the QR code telling the customer how to scan. |
| `qrCodeLabel` | `QR code for {wallet}` | Screen reader name for the QR graphic. `{wallet}` is replaced by the wallet's display name. |
| `title` | `Scan with {wallet}` | Screen reader heading of the QR code screen. `{wallet}` is replaced by the wallet's name. The visible title is `qrCodeTitle` in `dyn-connect-wallet-option-widget`. |

## Flow payment: loading

Shown while the [Flow payment widget](https://www.dynamic.xyz/docs/javascript/building-ui/react-ui/flow-widget.md) loads the payment, and when it cannot.

### `dyn-flow-loading-view`

The loader shown while the payment loads.

| Key | Default | Description |
| - | - | - |
| `message` | `Loading payment` | The status line under the loader. |

### `dyn-flow-load-error`

The screen shown when the payment cannot load or no payment matches the link.

| Key | Default | Description |
| - | - | - |
| `announcement` | `This payment could not be loaded.` | Announced to screen readers when the screen opens. |
| `description` | `Check your connection and try again.` | The reason line when the payment could not be loaded. |
| `heading` | `We couldn't load this payment` | The outcome line when the payment could not be loaded. |
| `notFoundDescription` | `Check the payment link, or ask for a new one.` | The reason line when no payment matches the link. |
| `notFoundHeading` | `We couldn't find this payment` | The outcome line when no payment matches the link. |
| `retrying` | `Trying again` | Status shown while the payment loads again. |
| `title` | `Payment unavailable` | Title of the screen. |
| `tryAgain` | `Try again` | Label of the button that loads the payment again. |

## Flow payment: payment method

### `dyn-flow-choose-payment-source-view`

The payment method choice: wallet, exchange, or deposit address.

| Key | Default | Description |
| - | - | - |
| `connectWallet` | `Connect a wallet` | Label of the wallet option. |
| `depositTime` | `~2 mins` | Estimated time shown on the deposit address option. |
| `exchangeLimit` | `Limits apply` | Limit note shown on the exchange option. |
| `exchangeTime` | `~5 mins` | Estimated time shown on the exchange option. |
| `instant` | `Instant` | Estimated time shown on the wallet option. |
| `noLimit` | `No limit` | Limit note shown on the wallet and deposit address options. |
| `payWithExchange` | `Pay with an exchange` | Label of the exchange option. |
| `sendToAddress` | `Send to an address` | Label of the deposit address option. |
| `title` | `Pay with crypto` | Title of the screen. |

## Flow payment: wallet

Screens of a wallet payment, in `FlowWidget` and `FlowPayWithWalletWidget`.

### `dyn-flow-wallet-connection-view`

The wallet connection step of a payment.

| Key | Default | Description |
| - | - | - |
| `attachingStatus` | `Checking wallet` | Status shown below the panel while the connected wallet is checked. |

### `dyn-flow-wallet-attach-error-banner`

Errors shown when the connected wallet cannot be used for the payment.

| Key | Default | Description |
| - | - | - |
| `attachError` | `This wallet couldn't be connected to the payment. Try connecting it again.` | Inline error when the connected wallet could not be attached for another reason. |
| `walletBlockedError` | `This wallet didn't pass the sanctions check, so it can't be used for this payment. Connect a different wallet.` | Inline error when the connected wallet failed the sanctions check and can't be used for this payment. |

### `dyn-flow-choose-token-view`

The token choice.

| Key | Default | Description |
| - | - | - |
| `changeWallet` | `Change` | Label of the button that switches to another wallet. |
| `processingTokenSelection` | `Getting quote` | Progress shown while the picked token is quoted. |
| `selectionError` | `Payment cannot be completed with the selected token. Try another one.` | Inline error shown when the last token pick failed. |
| `title` | `Choose a token` | Title of the screen. |

### `dyn-flow-review-payment-view`

The payment review, with the quote, the terms consent, and the confirm button.

| Key | Default | Description |
| - | - | - |
| `back` | `Back` | Label of the button that returns to the previous step. |
| `confirm` | `Confirm payment` | Label of the button that confirms the payment. |
| `consent` | `I agree to the {terms}` | The terms consent sentence. `{terms}` is replaced by a link whose text is `terms`. |
| `fees` | `Fees` | Label for quoted fees. |
| `getNewQuote` | `Get a new quote` | The inline error's re-quote action for an expired quote. |
| `orderTotal` | `Order total` | Label of the order amount before fees. |
| `quoteExpiresIn` | `Quote expires in {time}` | Countdown at the bottom of the panel. `{time}` is replaced by the time left. |
| `requoting` | `Getting a new quote` | Shown at the bottom of the panel while a new quote is fetched. |
| `submitErrorExpiredQuote` | `The quote has expired. Get a new one to continue.` | Inline error shown when the quote expired. |
| `submitErrorGasBalance` | `Not enough balance to cover network fees.` | Inline error shown when the wallet can't cover network fees. |
| `submitErrorGeneric` | `Failed to submit payment. Please try again.` | Inline error shown when submission failed for any other reason. |
| `submitErrorTransferBalance` | `Not enough balance to cover this payment.` | Inline error shown when the wallet can't cover the payment amount. |
| `terms` | `Terms of Service` | Text of the terms of service link inside `consent`. |
| `title` | `Review your payment` | Title of the screen. |
| `total` | `Total` | Label of the order amount plus fees. |
| `tryAgain` | `Try again` | The inline error's retry action. |
| `tryAnotherToken` | `Try another token` | The inline error's action returning to the token pick. |

### `dyn-flow-swap-tile`

The tiles showing what the payer pays with and what is received.

| Key | Default | Description |
| - | - | - |
| `from` | `From` | Screen reader label of the tile for what the payer pays. |
| `payingWith` | `Paying with` | Screen reader label of the single tile when no conversion is needed. |
| `to` | `To` | Screen reader label of the tile for what is received. |

### `dyn-flow-payment-swap-tile`

Fallbacks inside the swap tiles when token details are missing.

| Key | Default | Description |
| - | - | - |
| `unavailableAmount` | `—` | Shown in place of an amount when the token's decimals are not known. |
| `unknownToken` | `Token` | Shown in place of a token name when the quote does not include one. |

### `dyn-flow-payment-not-approved`

The screen shown when the payer declines the transaction in their wallet.

| Key | Default | Description |
| - | - | - |
| `announcement` | `Payment not approved. Nothing was sent.` | Announced to screen readers when the screen opens. |
| `declinedMessage` | `The request was declined in {wallet}.` | The reason line. `{wallet}` is replaced by the wallet's name, or by `fallbackWallet` when the name is not known. |
| `fallbackWallet` | `your wallet` | The `{wallet}` replacement when no wallet name is passed. |
| `nothingWasSent` | `Nothing was sent` | The main message. |
| `payAnotherWay` | `Pay another way` | Label of the button that returns to the payment method choice. Shown only when another method is available. |
| `retryErrorExpiredQuote` | `The quote has expired. Try again to get a new one.` | Inline error when a retry failed on an expired quote. |
| `retryErrorGasBalance` | `Not enough balance to cover network fees.` | Inline error when a retry failed on network fees. |
| `retryErrorGeneric` | `Failed to submit payment. Please try again.` | Inline error when a retry failed for any other reason. |
| `retryErrorTransferBalance` | `Not enough balance to cover this payment.` | Inline error when a retry failed on the payment amount. |
| `retrying` | `Trying again` | The status shown below the panel while a retry runs. |
| `title` | `Payment not approved` | Title of the screen. |
| `tryAgain` | `Try again` | Label of the button that asks the wallet to approve again. |

## Flow payment: exchange

Screens of an exchange payment, in `FlowWidget` and `FlowPayWithExchangeWidget`. Most keys accept `{exchange}`, which the widget replaces with the exchange's name.

### `dyn-flow-choose-exchange-view`

The exchange choice.

| Key | Default | Description |
| - | - | - |
| `attachingStatus` | `Connecting to {exchange}` | The progress line while `{exchange}` is set up. |
| `empty` | `No exchanges are available for this payment. Choose another payment method.` | Shown when no exchange is offered. |
| `incompatibleError` | `{exchange} can't be used for this payment. Choose another payment method.` | Shown when `{exchange}` can't be used for this payment. |
| `loadError` | `We couldn't load the exchanges for this payment.` | Shown when the exchanges couldn't load. |
| `retry` | `Try again` | Label of the button that loads the exchanges again. |
| `temporaryError` | `{exchange} isn't responding right now. Try again or choose another payment method.` | Shown when `{exchange}` isn't responding. |
| `title` | `Pay with an exchange` | Title of the screen. |
| `unavailableError` | `{exchange} isn't available for this payment. Choose another payment method.` | Shown when `{exchange}` isn't offered for this payment. |
| `unknownError` | `Something went wrong with {exchange}. Try again or choose another payment method.` | Shown when setting up `{exchange}` failed unexpectedly. |

### `dyn-flow-exchange-view`

The screen that opens the exchange and waits for the purchase.

| Key | Default | Description |
| - | - | - |
| `continue` | `Continue to {exchange}` | Label of the button that opens the exchange. `{exchange}` is replaced by the exchange name. |
| `heading` | `Buy {amount} on {exchange}` | What the payer buys. `{amount}` is replaced by the amount and `{exchange}` by the exchange name. |
| `incompatibleError` | `{exchange} can't be used for this payment. Choose another payment method.` | Shown when `{exchange}` can't be used for this payment. |
| `openHint` | `Opens {exchange} in a new tab.` | Says `{exchange}` opens in a new tab. |
| `renewingStatus` | `Getting a new {exchange} link` | The progress line while a new `{exchange}` link is fetched. |
| `reopen` | `Reopen {exchange}` | Label of the button that opens the exchange again. `{exchange}` is replaced by the exchange name. |
| `temporaryError` | `{exchange} isn't responding right now. Try again or choose another payment method.` | Shown when `{exchange}` isn't responding. |
| `title` | `Pay with {exchange}` | Title of the screen. `{exchange}` is replaced by the exchange name. |
| `unavailableError` | `{exchange} isn't available for this payment. Choose another payment method.` | Shown when `{exchange}` isn't offered for this payment. |
| `unknownError` | `Something went wrong with {exchange}. Try again or choose another payment method.` | Shown when a new `{exchange}` link failed unexpectedly. |
| `waitingDescription` | `Finish on {exchange}. This page updates by itself.` | Asks the payer to finish on `{exchange}`. |
| `waitingStatus` | `Waiting for your {exchange} purchase` | The progress line while the `{exchange}` purchase is pending. |

### `dyn-flow-leave-exchange-view`

The confirmation shown when the payer goes back after opening the exchange.

| Key | Default | Description |
| - | - | - |
| `description` | `Purchases can take a few minutes to confirm. If you pay another way too, you may be charged twice and need a refund.` | The warning that paying another way too may charge the payer twice. |
| `heading` | `Already paid on {exchange}?` | Asks whether the payer already paid on `{exchange}`. |
| `keepWaiting` | `Keep waiting` | The primary action returning to the `{exchange}` payment. |
| `payAnotherWay` | `Pay another way` | The secondary action leaving `{exchange}` for another payment method. |
| `title` | `Pay with {exchange}` | Title of the screen. `{exchange}` is replaced by the exchange name. |

## Flow payment: deposit address

Screens of a deposit-address payment, in `FlowWidget` and `FlowDepositAddressWidget`.

### `dyn-flow-deposit-address-view`

The network and token choice, the address, and the exact amount to send.

| Key | Default | Description |
| - | - | - |
| `amountLabel` | `amount` | Used in the screen reader name of the amount's copy button. |
| `fees` | `Fees` | Label of the fees line. |
| `orderTotal` | `Order total` | Label of the order total line. |
| `qrLabel` | `QR code to pay the exact amount to the deposit address` | Screen reader label of the QR code once it shows the payment. |
| `qrPlaceholder` | `Select a chain and token` | Shown in place of the QR code before the payer chooses a chain and token. |
| `qrQuoting` | `Fetching quote…` | Shown in place of the QR code while the quote loads. |
| `quoteFailed` | `We couldn't get a quote for the selected token. Try selecting a different one.` | Error shown when the chosen token cannot be quoted. |
| `selectChainLabel` | `Select chain` | The chain select's label. |
| `selectChainPlaceholder` | `Select chain` | The chain select's placeholder. |
| `selectTokenLabel` | `Select token` | The token select's label. |
| `selectTokenPlaceholder` | `Select token` | The token select's placeholder. |
| `sendExactly` | `Send exactly` | Title of the amount card. |
| `title` | `Send to address` | Title of the screen. |
| `toThisAddress` | `To this address` | The address field's label. |
| `waitingForAmount` | `Waiting for exactly {amount}` | Status while the widget waits for the deposit. `{amount}` is replaced by the exact token amount. |

### `dyn-flow-refund-address-sheet`

The sheet that asks the payer for a refund address.

| Key | Default | Description |
| - | - | - |
| `bitcoinHint` | `Bitcoin addresses start with bc1, 1 or 3.` | Hint for an invalid Bitcoin address. |
| `description` | `If we can't complete the payment, your funds go back to this address. Use a wallet you control, never an exchange.` | The line explaining where the refund goes. |
| `done` | `Done` | Label of the confirm button. |
| `evmHint` | `{network} addresses start with 0x and are 42 characters long.` | Hint for an invalid EVM address. `{network}` is replaced by the network name. |
| `inputLabel` | `Refund address on {network}` | Screen reader name of the address field. `{network}` is replaced by the network name. |
| `inputPlaceholder` | `Enter your {network} address` | Placeholder of the address field. `{network}` is replaced by the network name. |
| `solanaHint` | `Solana addresses are 32–44 characters and never contain 0, O, I or l.` | Hint for an invalid Solana address. |
| `title` | `Refund address` | Title of the sheet. |
| `tronHint` | `Tron addresses start with T and are 34 characters long.` | Hint for an invalid TRON address. |

### `dyn-flow-leave-deposit-address-view`

The confirmation shown when the payer goes back after receiving an address.

| Key | Default | Description |
| - | - | - |
| `description` | `This screen updates when your payment arrives. If you pay another way, funds sent here won't count towards this payment.` | The warning under the heading. |
| `heading` | `Already sent funds to this address?` | The question the payer answers before leaving. |
| `keepAddress` | `Keep this address` | The primary action returning to the deposit address. |
| `payAnotherWay` | `Pay another way` | The secondary action leaving for another payment method. |
| `title` | `Send to address` | Title of the screen. |

## Flow payment: processing

### `dyn-flow-processing-payment`

The progress screen shown after the funds are sent.

| Key | Default | Description |
| - | - | - |
| `stepApprove` | `Approve payment` | Progress step for approving and sending the transaction. |
| `stepCompleteTransfer` | `Complete transfer` | Progress step while the funds are on their way. |
| `stepPaymentReceived` | `Payment received` | Progress step for the settled payment. |
| `title` | `Processing payment` | Title of the screen. |

### `dyn-flow-payment-step-tracker`

Screen reader text for the progress steps.

| Key | Default | Description |
| - | - | - |
| `announceComplete` | `All steps complete` | Screen reader announcement once every step is done. |
| `announceInProgress` | `{step} in progress` | Screen reader announcement for the active step. `{step}` is replaced by the step name. |
| `statusDone` | `completed` | Screen reader status read after a completed step's label. |
| `statusInProgress` | `in progress` | Screen reader status read after the active step's label. |
| `statusPending` | `pending` | Screen reader status read after a pending step's label. |

## Flow payment: outcomes

### `dyn-flow-payment-complete`

The screen shown when the payment completes.

| Key | Default | Description |
| - | - | - |
| `announcement` | `Payment complete. {received}.` | Announced to screen readers when the screen opens. `{received}` is replaced by the main message. |
| `continue` | `Continue` | Label of the button that leaves the screen. |
| `fees` | `Fees` | Label of the fees line. |
| `receivedAmountUnknown` | `Payment received` | The main message when the amount received is not known. |
| `receivedWithMerchant` | `{merchant} received {amount}` | The main message when a merchant name is set. `{merchant}` is replaced by the merchant name and `{amount}` by the amount received. |
| `receivedWithoutMerchant` | `Received {amount}` | The main message when no merchant name is set. `{amount}` is replaced by the amount received. |
| `reference` | `Reference` | The copyable payment reference row's label. |
| `title` | `Payment complete` | Title of the screen. |
| `youSent` | `You sent` | Label of the line showing what the payer sent. |

### `dyn-flow-already-paid`

The screen shown when the payment was already completed before the widget opened.

| Key | Default | Description |
| - | - | - |
| `announcement` | `This payment was already completed.` | Announced to screen readers when the screen opens. |
| `message` | `This has already been paid` | The main message. |
| `paidAt` | `Paid {paidOn}` | The payment date line. `{paidOn}` is replaced by the date the payment was made. |
| `title` | `Already paid` | Title of the screen. |

### `dyn-flow-payment-failed`

The screen shown when the payment fails.

| Key | Default | Description |
| - | - | - |
| `announcement` | `Payment failed.` | Announced to screen readers when the screen opens. |
| `genericDescription` | `Something went wrong while processing this payment.` | The reason line when the flow does not report why it failed. |
| `heading` | `Payment failed` | The outcome line. |
| `title` | `Payment failed` | Title of the screen. |

### `dyn-flow-payment-refunded`

The screen shown when the payer sent the wrong amount to a deposit address and the payment is refunded.

| Key | Default | Description |
| - | - | - |
| `announcement` | `Payment failed. Your payment will be refunded.` | Announced to screen readers when the screen opens. |
| `description` | `The amount transferred didn't match the exact amount required. Your payment will be refunded.` | The reason line: why the payment failed and that it will be refunded. |
| `heading` | `Payment failed` | The outcome line. |
| `title` | `Incorrect amount transferred` | Title of the screen. |

### `dyn-flow-payment-cancelled`

The screen shown when the payment was cancelled.

| Key | Default | Description |
| - | - | - |
| `announcement` | `This payment was cancelled.` | Announced to screen readers when the screen opens. |
| `contactMerchant` | `Contact {merchant} if you need to pay again.` | The reason line. `{merchant}` is replaced by the merchant's display name. Hidden without a merchant name. |
| `heading` | `This payment was cancelled` | The outcome line. |
| `title` | `Payment cancelled` | Title of the screen. |

### `dyn-flow-expired`

The screen shown when the payment expired.

| Key | Default | Description |
| - | - | - |
| `announcement` | `This payment has expired.` | Announced to screen readers when the screen opens. |
| `contactMerchant` | `Contact {merchant} for a new one.` | The reason line. `{merchant}` is replaced by the merchant's display name. Hidden without a merchant name. |
| `message` | `This payment has expired` | The outcome line. |
| `title` | `Payment expired` | Title of the screen. |

## Shared components

These components appear inside several widgets, so a change here applies everywhere the component appears. To change one place only, wrap that widget in its own `TextProvider`.

### `dyn-panel-header`

The header at the top of every widget screen.

| Key | Default | Description |
| - | - | - |
| `back` | `Back` | Label of the Back control. |

### `dyn-search-bar`

The search field in lists.

| Key | Default | Description |
| - | - | - |
| `placeholder` | `Search` | Placeholder and screen reader name of the search input. |

### `dyn-select`

The dropdowns, such as the network and token choice for a deposit address.

| Key | Default | Description |
| - | - | - |
| `searchNoMatch` | `No match` | Shown when the search filter hides every option. |
| `searchPlaceholder` | `Search` | Placeholder and screen reader name of the dropdown's search field. |

### `dyn-copy-button`

The copy button on the QR code screen.

| Key | Default | Description |
| - | - | - |
| `copied` | `Copied` | Shown briefly after the copy succeeds. |

### `dyn-copy-field`

The copyable fields, such as the deposit address.

| Key | Default | Description |
| - | - | - |
| `copiedLabel` | `{label} copied` | Screen reader name while the copy confirmation shows. `{label}` is replaced by the field's label. |
| `copyLabel` | `Copy: {label}` | Screen reader name of the copy button. `{label}` is replaced by the field's label. |

### `dyn-copy-text`

The copyable values, such as the amount to send and the payment reference.

| Key | Default | Description |
| - | - | - |
| `copiedLabel` | `{label} copied` | Screen reader name while the copy confirmation shows. `{label}` is replaced by the value's label. |
| `copyLabel` | `Copy: {label}` | Screen reader name of the copy icon. `{label}` is replaced by the value's label. |

### `dyn-qr-code`

Every QR code.

| Key | Default | Description |
| - | - | - |
| `encoding` | `QR code encoding {value}` | Screen reader label announcing what the code encodes. `{value}` is replaced by the encoded value. |

### `dyn-provider-list`

The generic provider list, used for exchanges.

| Key | Default | Description |
| - | - | - |
| `empty` | `No providers available` | Message shown when the list has no items. |
| `noMatches` | `No matches for “{searchText}”` | Message shown when the filter matches nothing. `{searchText}` is replaced by the current query. |
| `remainingNoun` | `more` | Noun in the row that shows more items, such as "12 more". |
| `searchPlaceholder` | `Search` | Placeholder and screen reader name of the search field. |

### `dyn-wallet-account-balances`

The `WalletAccountBalances` view.

| Key | Default | Description |
| - | - | - |
| `empty` | `No token balances available` | Message shown when the account holds no tokens. |
| `error` | `Couldn’t load balances` | Message shown when the balance request fails. |

### `dyn-balances-list`

The token balance list inside `WalletAccountBalances`.

| Key | Default | Description |
| - | - | - |
| `empty` | `No token balances available` | Message shown when there are no balances to show. |

## Related

* [React UI components](https://www.dynamic.xyz/docs/javascript/building-ui/react-ui/overview.md): install the package and change its styles.
* [Connect wallet widget](https://www.dynamic.xyz/docs/javascript/building-ui/react-ui/connect-wallet-widget.md): the widget that uses the wallet connection text.
* [Flow payment widget](https://www.dynamic.xyz/docs/javascript/building-ui/react-ui/flow-widget.md): the widget that uses the Flow payment text.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.