> ## Documentation Index
> Fetch the complete documentation index at: https://developers.circle.com/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Before reading these docs, install the relevant Circle Skill to get pre-loaded context — skills are LLM-optimized and cover architecture decisions, correct flows, and common pitfalls. In Claude Code: run /plugin marketplace add circlefin/skills then /plugin install circle-skills@circle. With Vercel Skills CLI: run npx skills add circlefin/skills. Available skills: use-usdc https://github.com/circlefin/skills/blob/master/plugins/circle/skills/use-usdc/SKILL.md (balances, transfers, approvals on EVM and Solana); EURC has no skill — see https://developers.circle.com/stablecoins/what-is-eurc.md; bridge-stablecoin https://github.com/circlefin/skills/blob/master/plugins/circle/skills/bridge-stablecoin/SKILL.md (crosschain transfers via CCTP, USDC, EURC, and third-party assets); use-arc https://github.com/circlefin/skills/blob/master/plugins/circle/skills/use-arc/SKILL.md (Arc chain config, contract deployment, USDC bridging — Arc docs: https://docs.arc.io/llms.txt); use-circle-wallets https://github.com/circlefin/skills/blob/master/plugins/circle/skills/use-circle-wallets/SKILL.md (choose wallet type); use-developer-controlled-wallets https://github.com/circlefin/skills/blob/master/plugins/circle/skills/use-developer-controlled-wallets/SKILL.md (custodial wallets for payouts and treasury); use-user-controlled-wallets https://github.com/circlefin/skills/blob/master/plugins/circle/skills/use-user-controlled-wallets/SKILL.md (embedded wallets with Web2 login); use-modular-wallets https://github.com/circlefin/skills/blob/master/plugins/circle/skills/use-modular-wallets/SKILL.md (smart contract wallets with passkeys and ERC-4337); use-gateway https://github.com/circlefin/skills/blob/master/plugins/circle/skills/use-gateway/SKILL.md (unified USDC balance, nanopayments); use-smart-contract-platform https://github.com/circlefin/skills/blob/master/plugins/circle/skills/use-smart-contract-platform/SKILL.md (deploy, interact, monitor contracts). Pair any skill with the Circle MCP server for live SDK signatures, contract addresses, and chain IDs: {"mcpServers":{"circle":{"url":"https://api.circle.com/v1/codegen/mcp"}}}.
> Read the product overview first. Each product has an overview explaining when and why to use it. Read it before quickstarts.
> Pick the right wallet type. Developer-controlled (you hold keys), user-controlled (end user holds keys via PIN/social login), or modular (smart contract wallets with passkeys). See https://developers.circle.com/wallets.md.
> Use CCTP V2 for crosschain transfers. CCTP natively transfers USDC and EURC via burn-and-mint, and supports permissionless wrapping of third-party assets via lock-and-mint. V1 is legacy; always use V2 unless V1 is specified or the chain requires it (Noble, Sui, and Aptos still require V1). Migration guide: https://developers.circle.com/cctp/migration-from-v1-to-v2.md.
> Use Bridge Kit for frontend bridging. Wraps CCTP with a simpler SDK for user-facing apps. Use CCTP directly for backend transfers.
> Gas Station vs Paymaster. Gas Station sponsors gas for Circle Wallet transactions. Paymaster lets users pay gas in USDC. Different use cases — read both overviews.
> Gateway Nanopayments for sub-cent payments. Gasless USDC micropayments down to $0.000001 via x402 and batched settlement. For pay-per-request APIs, AI agent payments, streaming.
> Look up USDC addresses per chain. Never hardcode — use https://developers.circle.com/stablecoins/usdc-contract-addresses.md.
> Prefer SDKs over raw API calls. Node.js and Python SDKs handle auth, retries, and errors.
> API key required. Bearer token in Authorization header. Testnet and mainnet use separate keys and may use different base URLs depending on the product.
> Set up webhooks when available. Most operations are async. Webhooks deliver transaction confirmations and state changes.
> When calling list endpoints, paginate using pageSize and pageAfter until no nextPageAfter cursor is returned—stopping at the first page silently misses records.
> Building an AI agent? Start with the Agent Stack—Circle CLI, agent wallets, and nanopayments built for autonomous use cases: https://developers.circle.com/agent-stack.md.

# Web SDK UI customizations

This document describes the different customizable sections of the Programmable
Wallet SDK customization API. To get the most flexibility out of the SDK, use
this reference with the [SDK API](/sdks/user-controlled/web-sdk).

## Colors

### setThemeColor(themeColor: ThemeColor)

| # | ThemeColor property | Note |
| - | - | - |
| A1 | backdrop | Modal backdrop color, e.g. '#000000'. |
| A2 | backdropOpacity | Modal backdrop opacity, e.g. 0.5. |
| A3 | divider | Divider border color, e.g. '#808080' or 'grey'. |
| A4 | bg | Modal background color, e.g. '#FFFFFF' or 'white'. |
| A5 | success | Success text color, e.g. '#008000' or 'green'. |
| A6 | error | Error text color, e.g. '#FF0000' or 'red'. |
| A7 | textMain | Primary color, e.g. '#000000' or 'black'. |
| A8 | textMain2 | Secondary color, e.g. '#000000' or 'black'. |
| A9 | textAuxiliary | Primary auxiliary color, e.g. '#000000' or 'black'. |
| A10 | textAuxiliary2 | Secondary auxiliary color, e.g. '#000000' or 'black'. |
| A11 | textSummary | Summary text color, e.g. '#000000' or 'black'. |
| A12 | textSummaryHighlight | Summary highlight text color, e.g. '#000000' or 'black'. |
| A13 | textPlaceholder | Text input placeholder color, e.g. '#808080' or 'grey'. |
| A14 | pinDotBase | Fill color for pincode input dot, e.g. '#FFFFFF' or 'white'. |
| A15 | pinDotBaseBorder | Stroke color for pincode input dot, e.g. '#000000' or 'black'. |
| A16 | pinDotActivated | Fill color for inputted pincode input dot, e.g. '#0000ff' or 'blue'. |
| A17 | inputBorderFocused | Outline color for text input on focused, e.g. '#0000ff' or 'blue'. |
| A18 | inputBorderFocusedError | Outline color for text input when error, e.g. '#FF0000' or 'red'. |
| A19 | inputBg | Background color for text input, e.g. '#FFFFFF' or 'white'. |
| A20 | inputBgDisabled | Background color for disabled text input, e.g. '#FFFFFF' or 'white'. |
| A21 | dropdownBg | Background color for dropdown, e.g. '#FFFFFF' or 'white'. |
| A22 | dropdownBorderIsOpen | Outline color for dropdown is open, e.g. '#0000ff' or 'blue'. |
| A23 | dropdownBorderError | Outline color for dropdown when error, e.g. '#FF0000' or 'red'. |
| A24 | mainBtnText | Text color for primary button, e.g. '#FFFFFF' or 'white'. |
| A25 | mainBtnTextDisabled | Text color for disabled primary button, e.g. '#FFFFFF' or 'white'. |
| A26 | mainBtnTextOnHover | Text color for primary button on hover, e.g. '#FFFFFF' or 'white'. |
| A27 | mainBtnBg | Background color for primary button, e.g. '#000000' or 'black'. |
| A28 | mainBtnBgOnHover | Background color for primary button on hover, e.g. '#000000' or 'black'. |
| A29 | mainBtnBgDisabled | Background color for disabled primary button, e.g. '#000000' or 'black'. |
| A30 | secondBtnText | Text color for secondary button, e.g. '#000000' or 'black'. |
| A31 | secondBtnTextDisabled | Text color for disabled secondary button, e.g. '#000000' or 'black'. |
| A32 | secondBtnTextOnHover | Text color for secondary button on hover, e.g. '#000000' or 'black'. |
| A33 | secondBtnBorder | Outline color for secondary button, e.g. '#000000' or 'black'. |
| A34 | secondBtnBorderOnHover | Outline color for secondary button on hover, e.g. '#000000' or 'black'. |
| A35 | secondBtnBgOnHover | Background color for secondary button on hover, e.g. '#FFFFFF' or 'white'. |
| A36 | secondBtnBorderDisabled | Outline color for disabled secondary button, e.g. '#FFFFFF' or 'white'. |
| A37 | plainBtnText | Text color for plain text button, e.g. '#000000' or 'black'. |
| A38 | plainBtnTextDisabled | Text color for disabled plain text button, e.g. '#000000' or 'black'. |
| A39 | plainBtnTextOnHover | Text color for plain text button on hover, e.g. '#000000' or 'black'. |
| A40 | plainBtnBg | Background color for plain text button, e.g. '#FFFFFF' or 'white'. |
| A41 | plainBtnBgOnHover | Background color for plain text button on hover, e.g. '#FFFFFF' or 'white'. |
| A42 | recoverPinHintTitle | Text color for recover pincode hint title, e.g. '#FFFFFF' or 'white'. |
| A43 | recoverPinHintTitleBg | Background color for recover pincode hint title, e.g. '#FFFFFF' or 'white'. |
| A44 | recoverPinHint | ext color for recover pincode hint, e.g. '#FFFFFF' or 'white'. |
| A45 | titleGradients | Background color for linear-gradient text, e.g. \['#B090F5', '#1AA3FF']. |
| A46 | inputText | Text color for text input, e.g. '#000000' or 'black'. |
| A47 | enteredPinText | Text color for entered pincode input, e.g. `'#000000'` or `'black'`. |
| A48 | tooltipText | Text color for tooltip content text, e.g. '#000000' or 'black'. |
| A49 | tooltipBg | Background color for tooltip content, e.g. '#FFFFFF' or 'white'. |
| A50 | textInteractive | Text color for call data and abi parameters |
| A51 | interactiveBg | Container background color for call data and abi parameters |

### Create your PIN

<Frame>
  <img src="https://mintcdn.com/circle-167b8d39/ilQRXPPagmT4tMsq/w3s/images/websdk-uic-createpin01.png?fit=max&auto=format&n=ilQRXPPagmT4tMsq&q=85&s=b96c062cee0852ae8d91973361e48cf6" width="1006" height="718" data-path="w3s/images/websdk-uic-createpin01.png" />
</Frame>

<Frame>
  <img src="https://mintcdn.com/circle-167b8d39/ilQRXPPagmT4tMsq/w3s/images/websdk-uic-createpin02.png?fit=max&auto=format&n=ilQRXPPagmT4tMsq&q=85&s=c87048b5300f16ab3fda81cdcbb6cb75" width="1000" height="608" data-path="w3s/images/websdk-uic-createpin02.png" />
</Frame>

<br />

### Re-enter your PIN to Confirm

<Frame>
  <img src="https://mintcdn.com/circle-167b8d39/elnR2DloSOcLlvwz/w3s/images/websdk-uic-reenterpin01.png?fit=max&auto=format&n=elnR2DloSOcLlvwz&q=85&s=c71bd5a724865db026df153b75fece75" width="794" height="474" data-path="w3s/images/websdk-uic-reenterpin01.png" />
</Frame>

<Frame>
  <img src="https://mintcdn.com/circle-167b8d39/elnR2DloSOcLlvwz/w3s/images/websdk-uic-reenterpin02.png?fit=max&auto=format&n=elnR2DloSOcLlvwz&q=85&s=bcd98efdae4d30f182d4da213338b2bf" width="776" height="496" data-path="w3s/images/websdk-uic-reenterpin02.png" />
</Frame>

<br />

### Set up your Recovery Method

<Frame>
  <img src="https://mintcdn.com/circle-167b8d39/elnR2DloSOcLlvwz/w3s/images/websdk-uic-recovery01.png?fit=max&auto=format&n=elnR2DloSOcLlvwz&q=85&s=16a2989eb7e55ad96d9942799799687b" width="877" height="883" data-path="w3s/images/websdk-uic-recovery01.png" />
</Frame>

<br />

### Security Questions Customization

Please reference the Security Question section in the
[SDK](/sdks/user-controlled/web-sdk#securityquestion) for how to customize the
question by using `setSecurityQuestions` method.

<Frame>
  <img src="https://mintcdn.com/circle-167b8d39/elnR2DloSOcLlvwz/w3s/images/websdk-uic-secq01.png?fit=max&auto=format&n=elnR2DloSOcLlvwz&q=85&s=28038dec8db0dc913019a40d0c67f720" width="877" height="883" data-path="w3s/images/websdk-uic-secq01.png" />
</Frame>

<Frame>
  <img src="https://mintcdn.com/circle-167b8d39/elnR2DloSOcLlvwz/w3s/images/websdk-uic-secq02.png?fit=max&auto=format&n=elnR2DloSOcLlvwz&q=85&s=1344e849eacb693cc001ec117aed3714" width="877" height="883" data-path="w3s/images/websdk-uic-secq02.png" />
</Frame>

<Frame>
  <img src="https://mintcdn.com/circle-167b8d39/elnR2DloSOcLlvwz/w3s/images/websdk-uic-secq03.png?fit=max&auto=format&n=elnR2DloSOcLlvwz&q=85&s=7fa7aed1d7754411306d16369164cb70" width="877" height="883" data-path="w3s/images/websdk-uic-secq03.png" />
</Frame>

### Security Questions Summary

<Frame>
  <img src="https://mintcdn.com/circle-167b8d39/elnR2DloSOcLlvwz/w3s/images/websdk-uic-secq04.png?fit=max&auto=format&n=elnR2DloSOcLlvwz&q=85&s=ce5044e09d2124c86c6da4511ddc52b0" width="877" height="883" data-path="w3s/images/websdk-uic-secq04.png" />
</Frame>

### Security Questions Confirmation

<Frame>
  <img src="https://mintcdn.com/circle-167b8d39/elnR2DloSOcLlvwz/w3s/images/websdk-uic-secq05.png?fit=max&auto=format&n=elnR2DloSOcLlvwz&q=85&s=b084e9dbdf86030ca88fc6cf9c9d9537" width="942" height="874" data-path="w3s/images/websdk-uic-secq05.png" />
</Frame>

<br />

### Enter your PIN

<Frame>
  <img src="https://mintcdn.com/circle-167b8d39/ilQRXPPagmT4tMsq/w3s/images/websdk-uic-enterpin01.png?fit=max&auto=format&n=ilQRXPPagmT4tMsq&q=85&s=8129769d0514b60a0522600d6c50cbe1" width="920" height="530" data-path="w3s/images/websdk-uic-enterpin01.png" />
</Frame>

<Frame>
  <img src="https://mintcdn.com/circle-167b8d39/ilQRXPPagmT4tMsq/w3s/images/websdk-uic-enterpin02.png?fit=max&auto=format&n=ilQRXPPagmT4tMsq&q=85&s=da81b6bc16d16d7826689b30bc99781d" width="750" height="506" data-path="w3s/images/websdk-uic-enterpin02.png" />
</Frame>

<br />

### Recover your PIN

<Frame>
  <img src="https://mintcdn.com/circle-167b8d39/elnR2DloSOcLlvwz/w3s/images/websdk-uic-recoverpin01.png?fit=max&auto=format&n=elnR2DloSOcLlvwz&q=85&s=9c46d1c162527344438a2854a305d475" width="877" height="883" data-path="w3s/images/websdk-uic-recoverpin01.png" />
</Frame>

<Frame>
  <img src="https://mintcdn.com/circle-167b8d39/elnR2DloSOcLlvwz/w3s/images/websdk-uic-recoverpin02.png?fit=max&auto=format&n=elnR2DloSOcLlvwz&q=85&s=4a86eef821711fe8386cf656b5ecf43a" width="877" height="883" data-path="w3s/images/websdk-uic-recoverpin02.png" />
</Frame>

<br />

### Confirm Transaction

<Frame>
  <img src="https://mintcdn.com/circle-167b8d39/ilQRXPPagmT4tMsq/w3s/images/websdk-uic-confirmtrx01.png?fit=max&auto=format&n=ilQRXPPagmT4tMsq&q=85&s=46902fc0578f85346698c5c285a0c496" width="877" height="883" data-path="w3s/images/websdk-uic-confirmtrx01.png" />
</Frame>

<Frame>
  <img src="https://mintcdn.com/circle-167b8d39/ilQRXPPagmT4tMsq/w3s/images/websdk-uic-confirmtrx02.png?fit=max&auto=format&n=ilQRXPPagmT4tMsq&q=85&s=83491be98a5450f8f5f7b3a3a892cec4" width="877" height="883" data-path="w3s/images/websdk-uic-confirmtrx02.png" />
</Frame>

### Contract Interaction

<Frame>
  <img src="https://mintcdn.com/circle-167b8d39/ilQRXPPagmT4tMsq/w3s/images/websdk-uic-contractint01.png?fit=max&auto=format&n=ilQRXPPagmT4tMsq&q=85&s=a384dab9870d743346a5d7a91d344bd6" width="877" height="883" data-path="w3s/images/websdk-uic-contractint01.png" />
</Frame>

<Frame>
  <img src="https://mintcdn.com/circle-167b8d39/ilQRXPPagmT4tMsq/w3s/images/websdk-uic-contractint02.png?fit=max&auto=format&n=ilQRXPPagmT4tMsq&q=85&s=2591065fc5eb4c2a434e77edae463709" width="877" height="883" data-path="w3s/images/websdk-uic-contractint02.png" />
</Frame>

## Custom security questions

| # | Function | Note |
| - | - | - |
| B1 | setCustomSecurityQuestions(  questions?: SecurityQuestion\[] \| null,  requiredCount = 2,  securityConfirmItems?: string\[]) | Set the array of security questions |
| B2 | setCustomSecurityQuestions(  questions?: SecurityQuestion\[] \| null,  requiredCount = 2,  securityConfirmItems?: string\[]) | Set the required count of security questions. The value is 2 by default. |
| B3 | setCustomSecurityQuestions(  questions?: SecurityQuestion\[] \| null,  requiredCount = 2,  securityConfirmItems?: string\[]) | Set the array of customized disclaimers on the SecurityConfirm screen. The value is undefined by default. |
| B4 | setOnForgotPin(onForgotPin: () => void) | Set the callback of onForgotPin |

## Resources

### setResource(resources: Resources)

| # | Resources Property | Note |
| - | - | - |
| C1 | naviClose | Close icon url for the navigation bar. |
| C2 | naviBack | Back icon URL for the navigation bar. |
| C3 | securityIntroMain | Security intros image URL for the security intros page. |
| C4 | dropdownArrow | Arrow icon URL for the dropdown. |
| C5 | selectCheckMark | Selected item icon URL for the dropdown. |
| C6 | securityConfirmMain | Security confirm image URL for the security confirm page. |
| C7 | errorInfo | Error icon for form validation. |
| C8 | fontFamily | Font-family for customization.E.g. `{ name: 'Edu TAS Beginner', URL: 'https\://fonts.googleapis.com/css2?family=Edu+TAS+Beginner:wght\@400;500;600;700\&display=swap' }`. |
| C9 | transactionTokenIcon | Token icon for the transaction request page. |
| C10 | dAppIcon | DApp icon for customization for the sign message page. |
| C11 | tipIcon | Tooltip icon for customization. |
| C12 | emailIcon | Email icon for customization. |

<Frame>
  <img src="https://mintcdn.com/circle-167b8d39/ilQRXPPagmT4tMsq/w3s/images/websdk-uic-customrsrc01.png?fit=max&auto=format&n=ilQRXPPagmT4tMsq&q=85&s=03a2410295315d4b9f9fa0ddb0cba95a" width="600" height="430" data-path="w3s/images/websdk-uic-customrsrc01.png" />
</Frame>

<Frame>
  <img src="https://mintcdn.com/circle-167b8d39/ilQRXPPagmT4tMsq/w3s/images/websdk-uic-customrsrc02.png?fit=max&auto=format&n=ilQRXPPagmT4tMsq&q=85&s=d86188757f36d53d0da7422ddfe41b0a" width="596" height="432" data-path="w3s/images/websdk-uic-customrsrc02.png" />
</Frame>

<Frame>
  <img src="https://mintcdn.com/circle-167b8d39/ilQRXPPagmT4tMsq/w3s/images/websdk-uic-customrsrc03.png?fit=max&auto=format&n=ilQRXPPagmT4tMsq&q=85&s=3f2943c6668afc3c04cfb063d558be7b" width="877" height="883" data-path="w3s/images/websdk-uic-customrsrc03.png" />
</Frame>

<Frame>
  <img src="https://mintcdn.com/circle-167b8d39/ilQRXPPagmT4tMsq/w3s/images/websdk-uic-customrsrc04.png?fit=max&auto=format&n=ilQRXPPagmT4tMsq&q=85&s=e8dae36f3ce1f29c44a41086c684799e" width="877" height="883" data-path="w3s/images/websdk-uic-customrsrc04.png" />
</Frame>

<Frame>
  <img src="https://mintcdn.com/circle-167b8d39/ilQRXPPagmT4tMsq/w3s/images/websdk-uic-customrsrc05.png?fit=max&auto=format&n=ilQRXPPagmT4tMsq&q=85&s=2ccd8fe0772a643bca9270afef3f2f53" width="877" height="883" data-path="w3s/images/websdk-uic-customrsrc05.png" />
</Frame>

<Frame>
  <img src="https://mintcdn.com/circle-167b8d39/ilQRXPPagmT4tMsq/w3s/images/websdk-uic-customrsrc06.png?fit=max&auto=format&n=ilQRXPPagmT4tMsq&q=85&s=6893aec66be92698ca43ead84cb1dad7" width="877" height="883" data-path="w3s/images/websdk-uic-customrsrc06.png" />
</Frame>

<Frame>
  <img src="https://mintcdn.com/circle-167b8d39/ilQRXPPagmT4tMsq/w3s/images/websdk-uic-customrsrc07.png?fit=max&auto=format&n=ilQRXPPagmT4tMsq&q=85&s=48835f1a8520891f593b14b8ba2cc648" width="877" height="883" data-path="w3s/images/websdk-uic-customrsrc07.png" />
</Frame>

<Frame>
  <img src="https://mintcdn.com/circle-167b8d39/ilQRXPPagmT4tMsq/w3s/images/websdk-uic-customrsrc08.png?fit=max&auto=format&n=ilQRXPPagmT4tMsq&q=85&s=0f474ab9de5375a1cdd1b30898a9626f" width="877" height="883" data-path="w3s/images/websdk-uic-customrsrc08.png" />
</Frame>

<Frame>
  <img src="https://mintcdn.com/circle-167b8d39/ilQRXPPagmT4tMsq/w3s/images/websdk-uic-customrsrc09.png?fit=max&auto=format&n=ilQRXPPagmT4tMsq&q=85&s=efcf6dee8ae75c2b005628bf1f084662" width="713" height="883" data-path="w3s/images/websdk-uic-customrsrc09.png" />
</Frame>

## CustomLinks

### setCustomLinks(customLinks: CustomLinks)

| # | Custom Links Property | Note |
| - | - | - |
| D1 | learnMoreUrl | External link for the learn more button link. |

## Localizations

### setLocalizations(localizations: Localizations)

| # | Localizations Property | Note |
| - | - | - |
| E1\~E3 | confirmPincode | Holds localization settings for ConfirmPincode screen. |
| F1\~F4 | enterPincode | Holds localization settings for EnterPincode screen. |
| G1\~G3 | newPincode | Holds localization settings for NewPincode screen. |
| H1\~H5 | recoverPincode | Holds localization settings for RecoverPincode screen. |
| I1\~I5 | securityConfirm | Holds localization settings for SecurityConfirm screen. |
| J1\~J4 | securityIntros | Holds localization settings for SecurityIntros screen. |
| K1\~K8 | securityQuestions | Holds localization settings for SecurityQuestions screen. |
| L1\~L2 | securitySummary | Holds localization settings for SecuritySummary screen. |

### confirmPincode

| # | Property Name | Note |
| - | - | - |
| E1 | headline | Headline text <br /> <br />Keep the placeholder like this: <br />E.g. \`Re-enter your \{\{pin}} to confirm\` |
| E2 | headline2 | Headline text 2 <br /> <br />The text will replace the \{\{pin}} placeholder in the headline text |
| E3 | subhead | Subhead text |

<Frame>
  <img src="https://mintcdn.com/circle-167b8d39/elnR2DloSOcLlvwz/w3s/images/websdk-uic-local-reenterpin01.png?fit=max&auto=format&n=elnR2DloSOcLlvwz&q=85&s=3303656b742b03f5219f3fe0018b4b30" width="774" height="478" data-path="w3s/images/websdk-uic-local-reenterpin01.png" />
</Frame>

<br />

### enterPincode

| # | Property Name | Note |
| - | - | - |
| F1 | headline | Headline text <br /> <br />Keep the placeholder like this: <br />E.g. \`Enter your \{\{pin}}\` or \`輸入你的 \{\{pin}}\` |
| F2 | headline2 | Headline text 2 <br /> <br />The text will replace the \{\{pin}} placeholder in the headline text |
| F3 | subhead | Subhead text |
| F4 | forgotPin | Forgot pin text |

<Frame>
  <img src="https://mintcdn.com/circle-167b8d39/elnR2DloSOcLlvwz/w3s/images/websdk-uic-local-enterpin01.png?fit=max&auto=format&n=elnR2DloSOcLlvwz&q=85&s=1b22a252d1966d52c96cb2cff29ee461" width="742" height="434" data-path="w3s/images/websdk-uic-local-enterpin01.png" />
</Frame>

<br />

### newPincode

| # | Property Name | Note |
| - | - | - |
| G1 | headline | Headline text <br /> <br />Keep the placeholder like this: <br />E.g. \`Enter your \{\{pin}}\` or \`輸入你的 \{\{pin}}\` |
| G2 | headline2 | Headline text 2 <br /> <br />The text will replace the \{\{pin}} placeholder in the headline text |
| G3 | subhead | Subhead text |

<Frame>
  <img src="https://mintcdn.com/circle-167b8d39/elnR2DloSOcLlvwz/w3s/images/websdk-uic-local-createpin01.png?fit=max&auto=format&n=elnR2DloSOcLlvwz&q=85&s=a8c4f4333b0ae3650aaf8d74cd65ed8c" width="682" height="474" data-path="w3s/images/websdk-uic-local-createpin01.png" />
</Frame>

<br />

### recoverPincode

| # | Property Name | Note |
| - | - | - |
| H1 | headline | Headline text |
| H2 | headline2 | Headline text 2 |
| H3 | subhead | Subhead text |
| H4 | answerInputHeader | Answer input header text |
| H5 | answerInputPlaceholder | Answer input placeholder text |

<Frame>
  <img src="https://mintcdn.com/circle-167b8d39/elnR2DloSOcLlvwz/w3s/images/websdk-uic-local-recoverpin01.png?fit=max&auto=format&n=elnR2DloSOcLlvwz&q=85&s=3f222e40be72217091c99564626811f1" width="877" height="883" data-path="w3s/images/websdk-uic-local-recoverpin01.png" />
</Frame>

### securityConfirm

| # | Property Name | Note |
| - | - | - |
| I1 | title | Title text |
| I2 | headline | Headline text |
| I3 | inputHeadline | Input headline text |
| I4 | inputPlaceholder | Input placeholder text |
| I5 | inputMatch | Input match text |

<Frame>
  <img src="https://mintcdn.com/circle-167b8d39/elnR2DloSOcLlvwz/w3s/images/websdk-uic-local-secconfirm01.png?fit=max&auto=format&n=elnR2DloSOcLlvwz&q=85&s=ee7bb0412c9506cc361396767ada1b43" width="877" height="883" data-path="w3s/images/websdk-uic-local-secconfirm01.png" />
</Frame>

<Frame>
  <img src="https://mintcdn.com/circle-167b8d39/elnR2DloSOcLlvwz/w3s/images/websdk-uic-local-secconfirm02.png?fit=max&auto=format&n=elnR2DloSOcLlvwz&q=85&s=520dff82ef474167be0201cbfc2e113e" width="877" height="883" data-path="w3s/images/websdk-uic-local-secconfirm02.png" />
</Frame>

### securityIntros

| # | Property Name | Note |
| - | - | - |
| J1 | headline | Headline text |
| J2 | headline2 | Headline text 2 |
| J3 | description | Description text |
| J4 | link | Link text |

<Frame>
  <img src="https://mintcdn.com/circle-167b8d39/elnR2DloSOcLlvwz/w3s/images/websdk-uic-local-recovery01.png?fit=max&auto=format&n=elnR2DloSOcLlvwz&q=85&s=9b6c06c0e8c15a478839ae2bdd71d97f" width="877" height="883" data-path="w3s/images/websdk-uic-local-recovery01.png" />
</Frame>

### securityQuestions

| # | Property name | Note |
| - | - | - |
| K1 | title | Title text |
| K2 | questionHeader | Question header text |
| K3 | questionPlaceholder | Question placeholder text |
| K4 | requiredMark | Required mark text |
| K5 | answerHeader | Answer header text |
| K6 | answerPlaceholder | Answer placeholder text |
| K7 | answerHintHeader | Answer hint header text |
| K8 | answerHintPlaceholder | Answer hint placeholder text |

<Frame>
  <img src="https://mintcdn.com/circle-167b8d39/elnR2DloSOcLlvwz/w3s/images/websdk-uic-local-recovery02.png?fit=max&auto=format&n=elnR2DloSOcLlvwz&q=85&s=4255e418398632bb39f0798b06495ba7" width="877" height="883" data-path="w3s/images/websdk-uic-local-recovery02.png" />
</Frame>

### securitySummary

| # | Property Name | Note |
| - | - | - |
| L1 | title | Title text |
| L2 | question | Question text <br /> <br />Keep the placeholder like this: <br />E.g. `{{ordinal}} Question` `{{ordinal}} 質問` or `{{ordinal}} вопрос` or `{{ordinal}} คำถาม` <br /> <br />You don't need to place any ordinal value into the placeholder. Web-sdk will do it for you. |

<Frame>
  <img src="https://mintcdn.com/circle-167b8d39/elnR2DloSOcLlvwz/w3s/images/websdk-uic-local-secsummary01.png?fit=max&auto=format&n=elnR2DloSOcLlvwz&q=85&s=f9c5c3eeda66df66d421a7ace80d32b3" width="877" height="883" data-path="w3s/images/websdk-uic-local-secsummary01.png" />
</Frame>

### transactionRequest

| # | Property name | Note |
| - | - | - |
| M1 | title | Main title text |
| M2 | subtitle | Subtitle text |
| M3 | mainCurrency | Main currency info, including amount and symbol <br /> <br />E.g. \{ mainCurrency: \{ amount: 300, symbol: `ETH` } |
| M4 | exchangeValue | Exchanged currency info, including amount and symbol <br /> <br />E.g. \{ exchangeValue: \{ amount: 300, symbol: `USDC` } |
| M5 | fromLabel | From label |
| M6 | from | From value <br />E.g. `0x8De9d7D8503D1DE1566393d7155711B7e4210666` <br /> <br />Sdk will do the shortenHash for you. |
| M7 | toLabel | To label |
| M8 | to | To values. <br />This is an array of 3 elements. <br /> <br />E.g. <br />\[`uniswape.org`, `https://uniswape.org`, `0x8De9d7D8503D1DE1566393d7155711B7e4210666`] <br /> <br />If you only need to display the address only and you don't need the dApp name and url displayed, you can input it as follows: <br />`[, , 0x8De9d7D8503D1DE1566393d7155711B7e4210666]` |
| M9 | networkFeeLabel | Network fee label |
| M10 | networkFeeTip | Text for network fee tooltip |
| M11 | networkFee | Network fee value <br /> <br />E.g. `0.005 ETH` |
| M12 | exchangeNetworkFee | Exchanged network fee value <br /> <br />E.g. `10 USD` |

<Frame>
  <img src="https://mintcdn.com/circle-167b8d39/ilQRXPPagmT4tMsq/w3s/images/websdk-uic-local-confirmtrx01.png?fit=max&auto=format&n=ilQRXPPagmT4tMsq&q=85&s=f71da704516450a4a3caae5a939b043e" width="877" height="883" data-path="w3s/images/websdk-uic-local-confirmtrx01.png" />
</Frame>

<Frame>
  <img src="https://mintcdn.com/circle-167b8d39/ilQRXPPagmT4tMsq/w3s/images/websdk-uic-local-confirmtrx02.png?fit=max&auto=format&n=ilQRXPPagmT4tMsq&q=85&s=00bb1a04e1cacc8e439159e4f40ec6a0" width="877" height="883" data-path="w3s/images/websdk-uic-local-confirmtrx02.png" />
</Frame>

<Frame>
  <img src="https://mintcdn.com/circle-167b8d39/ilQRXPPagmT4tMsq/w3s/images/websdk-uic-local-confirmtrx03.png?fit=max&auto=format&n=ilQRXPPagmT4tMsq&q=85&s=2266c7d8d40a3289a36b55a568691ce8" width="877" height="883" data-path="w3s/images/websdk-uic-local-confirmtrx03.png" />
</Frame>

### contractInteraction

| # | Property name | Note |
| - | - | - |
| N1 | title | Main title text |
| N2 | subtitle | Subtitle text |
| N3 | mainCurrency | Main currency info, including amount and symbol <br /> <br />E.g. \{ mainCurrency: \{ amount: 300, symbol: `ETH` } |
| N4 | exchangeValue | Exchanged currency info, including amount and symbol <br /> <br />E.g. \{ exchangeValue: \{ amount: 300, symbol: `USDC` } |
| N5 | fromLabel | From label |
| N6 | from | From value <br /> <br />E.g. `0x8De9d7D8503D1DE1566393d7155711B7e4210666` <br /> <br />Sdk will do the shortenHash for you. |
| N7 | toLabel | To label |
| N8 | to | To values. <br /> <br />This is an array of 3 elements. <br /> <br />E.g. <br />`[uniswape.org, https://uniswape.org, 0x8De9d7D8503D1DE1566393d7155711B7e4210666]` <br /> <br />If you only need to display the address only and you don't need the dApp name and url displayed, you can input it as follows: <br />`[, , 0x8De9d7D8503D1DE1566393d7155711B7e4210666]` |
| N9 | networkFeeLabel | Network fee label |
| N10 | networkFeeTip | Text for network fee tooltip |
| N11 | networkFee | Network fee value <br /> <br />E.g. `0.005 ETH` |
| N12 | exchangeNetworkFee | Exchanged network fee value <br /> <br />E.g. `10 USD` |
| N13 | totalLabel | Total label text |
| N14 | total | Total values. This is an array of 2 elements. <br /> <br />E.g. <br />`[20 USDC, + 0.0002 ETH]` or <br />`[20 USDC + 0.0002 ETH, ]` |
| N15 | exchangeTotalValue | Exchanged total value text |
| N16 | dataDetails | An object for contract interaction data detail display. <br /> <br />\{ <br /> dataDetails?: \{ <br /> dataDetailsLabel?: string <br /> callData?: \{ <br /> callDataLabel?: string <br /> data?: string <br /> } <br /> abiInfo?: \{ <br /> functionNameLabel?: string <br /> functionName?: string <br /> parametersLabel?: string <br /> parameters?: string\[] <br /> } <br />} <br /> <br />dataDetailsLabel: data details label <br /> <br />callData or abiInfo: The use could choose either one to fill up depending on the transaction can be parsed by abi (choose abiInfo) or not (choose callData) |

<Frame>
  <img src="https://mintcdn.com/circle-167b8d39/ilQRXPPagmT4tMsq/w3s/images/websdk-uic-local-contractint01.png?fit=max&auto=format&n=ilQRXPPagmT4tMsq&q=85&s=7e7842b4695135d127c2333cd925db77" width="877" height="883" data-path="w3s/images/websdk-uic-local-contractint01.png" />
</Frame>

<Frame>
  <img src="https://mintcdn.com/circle-167b8d39/ilQRXPPagmT4tMsq/w3s/images/websdk-uic-local-contractint02.png?fit=max&auto=format&n=ilQRXPPagmT4tMsq&q=85&s=722701781a0123145a60b34a3c2ee625" width="877" height="883" data-path="w3s/images/websdk-uic-local-contractint02.png" />
</Frame>

<Frame>
  <img src="https://mintcdn.com/circle-167b8d39/ilQRXPPagmT4tMsq/w3s/images/websdk-uic-local-contractint03.png?fit=max&auto=format&n=ilQRXPPagmT4tMsq&q=85&s=bd32a6567954b81cef1cfe8c1efd540b" width="877" height="883" data-path="w3s/images/websdk-uic-local-contractint03.png" />
</Frame>

### signatureRequest

| # | Property name | Note |
| - | - | - |
| O1 | title | Main title text |
| O2 | subtitle | Subtitle text |
| O3 | contractName | Contract name |
| O4 | contractUrl | Contract url |
| O5 | descriptionLabel | Description label |
| O6 | description | Description |

<Frame>
  <img src="https://mintcdn.com/circle-167b8d39/elnR2DloSOcLlvwz/w3s/images/websdk-uic-local-sigrec01.png?fit=max&auto=format&n=elnR2DloSOcLlvwz&q=85&s=89d0e5b5f5328d6191311940ea8196c1" width="877" height="883" data-path="w3s/images/websdk-uic-local-sigrec01.png" />
</Frame>

### emailOtp

| # | Property name | Note |
| - | - | - |
| P1 | title | Main title text |
| P2 | subtitle | Subtitle text |
| P3 | resendHint | Resend label text |
| P4 | resend | Resend button text |

<Frame>
  <img src="https://mintcdn.com/circle-167b8d39/elnR2DloSOcLlvwz/w3s/images/websdk-uic-local-emailotp01.png?fit=max&auto=format&n=elnR2DloSOcLlvwz&q=85&s=a6b799dbc4225d20f298c664f86f5e81" width="713" height="934" data-path="w3s/images/websdk-uic-local-emailotp01.png" />
</Frame>

### common

| # | Property name | Note |
| - | - | - |
| Q1 | continue | Continue button text |
| Q2 | showPin | ShowPin button text |
| Q3 | hidePin | HidePin button text |
| Q4 | confirm | Confirm button text |
| Q5 | sign | Sign button text |
| Q6 | retry | Retry button text |

<Frame>
  <img src="https://mintcdn.com/circle-167b8d39/ilQRXPPagmT4tMsq/w3s/images/websdk-uic-local-common01.png?fit=max&auto=format&n=ilQRXPPagmT4tMsq&q=85&s=9666068e356e8fb286fc0e03dd0ae31d" width="877" height="883" data-path="w3s/images/websdk-uic-local-common01.png" />
</Frame>

<Frame>
  <img src="https://mintcdn.com/circle-167b8d39/ilQRXPPagmT4tMsq/w3s/images/websdk-uic-local-common02.png?fit=max&auto=format&n=ilQRXPPagmT4tMsq&q=85&s=0f6ece7df3b93938f779908527c6bc02" width="877" height="883" data-path="w3s/images/websdk-uic-local-common02.png" />
</Frame>

<Frame>
  <img src="https://mintcdn.com/circle-167b8d39/ilQRXPPagmT4tMsq/w3s/images/websdk-uic-local-common03.png?fit=max&auto=format&n=ilQRXPPagmT4tMsq&q=85&s=758aa5b57cf9de7b5b55f830799687a4" width="877" height="883" data-path="w3s/images/websdk-uic-local-common03.png" />
</Frame>

<Frame>
  <img src="https://mintcdn.com/circle-167b8d39/ilQRXPPagmT4tMsq/w3s/images/websdk-uic-local-common04.png?fit=max&auto=format&n=ilQRXPPagmT4tMsq&q=85&s=45e73a6cc5cfc11c3a53cec21a96f518" width="877" height="883" data-path="w3s/images/websdk-uic-local-common04.png" />
</Frame>

<Frame>
  <img src="https://mintcdn.com/circle-167b8d39/ilQRXPPagmT4tMsq/w3s/images/websdk-uic-local-common05.png?fit=max&auto=format&n=ilQRXPPagmT4tMsq&q=85&s=50fd43842b9f3f69554543b128c98db8" width="877" height="883" data-path="w3s/images/websdk-uic-local-common05.png" />
</Frame>

<Frame>
  <img src="https://mintcdn.com/circle-167b8d39/ilQRXPPagmT4tMsq/w3s/images/websdk-uic-local-common06.png?fit=max&auto=format&n=ilQRXPPagmT4tMsq&q=85&s=c03acd165e1323f58c2d4cedbef28ef4" width="877" height="883" data-path="w3s/images/websdk-uic-local-common06.png" />
</Frame>
