API Reference
Complete API reference for all WDK React Native UI Kit components
Component List
Numeric input with token/fiat toggle, balance helper and Max action
Token search & pick list with recent items and empty states
Network picker with gas level indicators and colors
Displays a balance value with optional masking and custom loader
Address input with QR scan and paste helpers, validation state
QR renderer for addresses/payment requests with labeling and styling
Single transaction row (sent/received) with token, amounts, network
Virtualized list of transactions using TransactionItem
Grid of seed words with optional editing and loading states
AmountInput
Numeric input component with token/fiat toggle, balance display, and Max functionality.

Props
label
string
No
'Enter Amount'
Field label
value
string
Yes
—
Amount text value
onChangeText
(text: string) => void
Yes
—
Called when text changes
tokenSymbol
string
Yes
—
Token code, e.g. 'ETH', 'BTC'
tokenBalance
string
Yes
—
Token balance (e.g. '1.23')
tokenBalanceUSD
string
Yes
—
Balance in fiat (e.g. '$4200.00')
inputMode
'token' | 'fiat'
Yes
—
Current input mode
onToggleInputMode
() => void
Yes
—
Switch between token/fiat modes
onUseMax
() => void
Yes
—
Fill with maximum available amount
error
string
No
—
Error message to display
editable
boolean
No
true
Whether input is editable
Example
import { AmountInput } from '@tetherto/wdk-uikit-react-native'
function SendAmount({ amount, balance, onAmountChange }) {
return (
<AmountInput
label="Enter Amount"
tokenSymbol="ETH"
value={amount}
onChangeText={onAmountChange}
tokenBalance={balance.toString()}
tokenBalanceUSD="$2,500.00"
inputMode="token"
onToggleInputMode={() => {/* Switch mode */}}
onUseMax={() => onAmountChange(balance.toString())}
/>
)
}AssetSelector
Token selection component with search functionality and recent tokens.

Props
tokens
Token[]
Yes
—
Full list of tokens to display/filter
recentTokens
string[]
Yes
—
Array of recent token names for Recent row
onSelectToken
(token: Token) => void
Yes
—
Called when user selects a token
Token Type
type Token = {
id: string
symbol: string
name: string
balance: string
balanceUSD: string
icon: ImageSourcePropType
color: string
network?: string
hasBalance: boolean
}Example
import { AssetSelector } from '@tetherto/wdk-uikit-react-native'
function TokenPicker({ tokens, recentTokens, onTokenSelect }) {
return (
<AssetSelector
tokens={tokens}
recentTokens={recentTokens}
onSelectToken={onTokenSelect}
/>
)
}Balance
Display component for showing balance values with optional masking and loading states.


Props
value
number
No
0
Balance number value
isLoading
boolean
No
false
Show loading state
Loader
React.ComponentType
No
—
Custom loader component
showHide
boolean
No
true
Toggle hide/show balance functionality
currency
string
No
'USD'
Currency label
EyeOpenIcon
React.ComponentType
No
default
Icon shown when balance is hidden
EyeClosedIcon
React.ComponentType
No
default
Icon shown when balance is visible
Example
import { Balance } from '@tetherto/wdk-uikit-react-native'
function WalletBalance({ balance, currency, isLoading }) {
return (
<Balance
value={balance}
currency={currency}
isLoading={isLoading}
showHide={true}
/>
)
}CryptoAddressInput
Address input component with QR scanning and paste functionality.

Props
label
string
No
'Recipient Address'
Field label
value
string
Yes
—
Address text value
onChangeText
(text: string) => void
Yes
—
Called when text changes
placeholder
string
No
'T08p3BGPIuh1l934IIflu....Kc2GXhKc'
Placeholder text
onPaste
() => void
No
—
Paste action handler
onQRScan
() => void
No
—
Open QR scanner handler
editable
boolean
No
true
Whether input is editable
error
string
No
—
Error message to display
Example
import { CryptoAddressInput } from '@tetherto/wdk-uikit-react-native'
function AddressInput({ address, onAddressChange, onQRScan }) {
return (
<CryptoAddressInput
label="Recipient Address"
value={address}
onChangeText={onAddressChange}
onQRScan={onQRScan}
placeholder="Enter wallet address..."
error={addressError}
/>
)
}QRCode
QR code renderer for addresses and payment requests.

Props
value
string
Yes
—
Data to encode in QR code
size
number
No
200
QR code side length in pixels
color
string
No
theme.primary
Dot color
backgroundColor
string
No
'transparent'
Background color behind QR code
label
string
No
—
Optional title above QR code
containerStyle
ViewStyle
No
—
Wrapper style
labelStyle
any
No
—
Style for label text
Example
import { QRCode } from '@tetherto/wdk-uikit-react-native'
function AddressQR({ address }) {
return (
<QRCode
value={address}
size={250}
label="Scan to receive"
color="#000000"
backgroundColor="#FFFFFF"
/>
)
}TransactionItem
Single transaction row component for displaying transaction details.

Props
transaction
Transaction
Yes
—
Transaction data object
onPress
() => void
No
—
Row press handler
Transaction Type
type Transaction = {
id: string
token: string
amount: string
fiatAmount: string
fiatCurrency: string
network: string
type: 'sent' | 'received'
}Example
import { TransactionItem } from '@tetherto/wdk-uikit-react-native'
function TransactionRow({ transaction, onPress }) {
return (
<TransactionItem
transaction={transaction}
onPress={onPress}
/>
)
}TransactionList
Virtualized list component for displaying multiple transactions.

Props
transactions
Transaction[]
Yes
—
Array of transaction objects
Example
import { TransactionList } from '@tetherto/wdk-uikit-react-native'
function TransactionHistory({ transactions }) {
return (
<TransactionList
transactions={transactions}
/>
)
}NetworkSelector
Network selection component with gas level indicators.
Props
networks
Network[]
Yes
—
Array of available networks
onSelectNetwork
(network: Network) => void
Yes
—
Called when network is selected
Network Type
type Network = {
id: string
name: string
gasLevel: 'High' | 'Normal' | 'Low'
gasColor: string
icon: string | any
color: string
}Example
import { NetworkSelector } from '@tetherto/wdk-uikit-react-native'
function NetworkPicker({ networks, onNetworkSelect }) {
return (
<NetworkSelector
networks={networks}
onSelectNetwork={onNetworkSelect}
/>
)
}SeedPhrase
Grid component for displaying and editing seed phrase words.
Props
words
string[]
Yes
—
Array of seed words (12/24, etc.)
editable
boolean
No
false
Allow editing of word inputs
onWordChange
(index: number, word: string) => void
No
—
Called when word is edited
onKeyPress
(index: number, key: string) => void
No
—
Handle key press events
isLoading
boolean
No
false
Show loading/generating state
Example
import { SeedPhrase } from '@tetherto/wdk-uikit-react-native'
function WalletBackup({ seedWords, editable, onWordChange }) {
return (
<SeedPhrase
words={seedWords}
editable={editable}
onWordChange={onWordChange}
isLoading={false}
/>
)
}Next Steps
Get Started - Quick start guide and basic usage
Theming Guide - Deep dive into theming capabilities
React Native Starter - Complete implementation example

