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.
# | 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 |
Please reference the Security Question section in the
SDK for how to customize the question by using
setSecurityQuestions
method.
# | 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 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. |
# | Custom Links Property | Note |
---|---|---|
D1 | learnMoreUrl | External link for the learn more button link. |
# | 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. |
# | Property Name | Note |
---|---|---|
E1 | headline | Headline text Keep the placeholder like this: E.g. `Re-enter your {{pin}} to confirm` |
E2 | headline2 | Headline text 2 The text will replace the {{pin}} placeholder in the headline text |
E3 | subhead | Subhead text |
# | Property Name | Note |
---|---|---|
F1 | headline | Headline text Keep the placeholder like this: E.g. `Enter your {{pin}}` or `輸入你的 {{pin}}` |
F2 | headline2 | Headline text 2 The text will replace the {{pin}} placeholder in the headline text |
F3 | subhead | Subhead text |
F4 | forgotPin | Forgot pin text |
# | Property Name | Note |
---|---|---|
G1 | headline | Headline text Keep the placeholder like this: E.g. `Enter your {{pin}}` or `輸入你的 {{pin}}` |
G2 | headline2 | Headline text 2 The text will replace the {{pin}} placeholder in the headline text |
G3 | subhead | Subhead text |
# | 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 |
# | 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 |
# | Property Name | Note |
---|---|---|
J1 | headline | Headline text |
J2 | headline2 | Headline text 2 |
J3 | description | Description text |
J4 | link | Link text |
# | 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 |
# | Property Name | Note |
---|---|---|
L1 | title | Title text |
L2 | question | Question text Keep the placeholder like this: E.g. {{ordinal}} Question {{ordinal}} 質問 or {{ordinal}} вопрос or {{ordinal}} คำถาม You don't need to place any ordinal value into the placeholder. Web-sdk will do it for you. |
# | Property name | Note |
---|---|---|
M1 | title | Main title text |
M2 | subtitle | Subtitle text |
M3 | mainCurrency | Main currency info, including amount and symbol E.g. { mainCurrency: { amount: 300, symbol: ETH } |
M4 | exchangeValue | Exchanged currency info, including amount and symbol E.g. { exchangeValue: { amount: 300, symbol: USDC } |
M5 | fromLabel | From label |
M6 | from | From value E.g. 0x8De9d7D8503D1DE1566393d7155711B7e4210666 Sdk will do the shortenHash for you. |
M7 | toLabel | To label |
M8 | to | To values. This is an array of 3 elements. E.g. [ uniswape.org , https://uniswape.org , 0x8De9d7D8503D1DE1566393d7155711B7e4210666 ] 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: [, , 0x8De9d7D8503D1DE1566393d7155711B7e4210666] |
M9 | networkFeeLabel | Network fee label |
M10 | networkFeeTip | Text for network fee tooltip |
M11 | networkFee | Network fee value E.g. 0.005 ETH |
M12 | exchangeNetworkFee | Exchanged network fee value E.g. 10 USD |
# | Property name | Note |
---|---|---|
N1 | title | Main title text |
N2 | subtitle | Subtitle text |
N3 | mainCurrency | Main currency info, including amount and symbol E.g. { mainCurrency: { amount: 300, symbol: ETH } |
N4 | exchangeValue | Exchanged currency info, including amount and symbol E.g. { exchangeValue: { amount: 300, symbol: USDC } |
N5 | fromLabel | From label |
N6 | from | From value E.g. 0x8De9d7D8503D1DE1566393d7155711B7e4210666 Sdk will do the shortenHash for you. |
N7 | toLabel | To label |
N8 | to | To values. This is an array of 3 elements. E.g. [uniswape.org, https://uniswape.org, 0x8De9d7D8503D1DE1566393d7155711B7e4210666] 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: [, , 0x8De9d7D8503D1DE1566393d7155711B7e4210666] |
N9 | networkFeeLabel | Network fee label |
N10 | networkFeeTip | Text for network fee tooltip |
N11 | networkFee | Network fee value E.g. 0.005 ETH |
N12 | exchangeNetworkFee | Exchanged network fee value E.g. 10 USD |
N13 | totalLabel | Total label text |
N14 | total | Total values. This is an array of 2 elements. E.g. [20 USDC, + 0.0002 ETH] or [20 USDC + 0.0002 ETH, ] |
N15 | exchangeTotalValue | Exchanged total value text |
N16 | dataDetails | An object for contract interaction data detail display. { dataDetails?: { dataDetailsLabel?: string callData?: { callDataLabel?: string data?: string } abiInfo?: { functionNameLabel?: string functionName?: string parametersLabel?: string parameters?: string[] } } dataDetailsLabel: data details label 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) |
# | 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 |
# | Property name | Note |
---|---|---|
P1 | title | Main title text |
P2 | subtitle | Subtitle text |
P3 | resendHint | Resend label text |
P4 | resend | Resend button text |
# | 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 |