Complete reference for RozoAI Intent Pay SDK props, configuration, and customization options.
📋 Core Props (ALWAYS REQUIRED)
<RozoPayButtonappId="rozoDemo"// Demo app IDtoChain={8453} // Base chain IDtoAddress={getAddress("0x...")} // Your wallet addresstoToken={getAddress(baseUSDC.token)} // USDC tokentoUnits="10"// $10 USDC (optional)intent="Pay Now"// Button text (optional)preferredSymbol={[TokenSymbol.USDC,TokenSymbol.USDT]} // Optional: prioritize token symbols/>
Required Props
Prop
Type
Description
Example
appId
string
Your app identifier
"rozoDemo"
toChain
number
Destination chain ID
8453 (Base)
toAddress
Address
Your wallet address
getAddress("0x742d...")
toToken
Address
Token contract address
getAddress(baseUSDC.token)
Semi-Optional Props
Prop
Type
Description
Default
toUnits
string
Human-readable amount as string (e.g., "10" for 10 USDC, no parseFloat needed). If not provided, user prompted.
-
intent
string
Button text/payment verb
"Pay"
🎯 Event Handlers (RECOMMENDED)
Event Handler Types
🔧 Optional Customization Props
Chain & Token Preferences
Prop
Type
Description
Default
preferredChains
number[]
Preferred chain IDs in order
-
preferredTokens
TokenPreference[]
Preferred tokens with chain/address
-
preferredSymbol
TokenSymbol[]
Prioritizes token symbols across all supported chains in token selection UI. If preferredTokens is provided, it takes precedence.
[USDC, USDT]
Note:preferredSymbol automatically finds matching tokens across all chains (Base, Polygon, Ethereum, Solana, Stellar). Only USDC, USDT, and EURC are supported values. Invalid symbols are filtered with a console warning.
Important: EURC can only be sent to EURC. When using TokenSymbol.EURC, ensure your toToken is also an EURC token address.
Stellar Payout Support
For Stellar USDC payouts, use rozoStellarUSDC from @rozoai/intent-common:
Available Payout Options:
Base USDC: Use baseUSDC.chainId (8453), baseUSDC.token, and Base address with getAddress()
Stellar USDC: Use rozoStellarUSDC.chainId (1500), rozoStellarUSDC.token, and Stellar address (no getAddress() needed)