Technical Integration
Integrating Zay Pay into your app takes just minutes. Whether you're building a wallet, exchange, or dApp, Zay Pay provides a seamless experience for crypto deposits and cross-chain swaps.
Integration Options
There are two approaches to including the widget in your website, exchange, wallet, or dApp:
Button Opening a New Link
You can create a button that opens Zay Pay in a new tab. This is ideal if you want to keep your interface minimal or redirect users externally.
<a href="https://pay.zay.me/widget?api_key=<API_KEY>&withdraw_address=<WITHDRAW_ADDRESS>" target="_blank" class="button">Deposit Crypto</a>Replace <API_KEY> with your issued API key.
Replace <WITHDRAW_ADDRESS> with the user’s wallet address using the special format (see Parameters).
Embedding an iFrame
This is the fastest way to embed Zay Pay directly into your application interface.
<iframe
src="https://pay.zay.me/widget?api_key=<API_KEY>&withdraw_address=<WITHDRAW_ADDRESS>"
width="100%"
height="100%"
frameborder="0"
allow="clipboard-write"
></iframe>Replace <API_KEY> with your issued API key.
Replace <WITHDRAW_ADDRESS> with the user’s wallet address using the special format (see Parameters).
Parameters
api_key(required): your Zay Pay API key.signature(optional): your request signature. See Request Signing for more details.withdraw_address(required): the user’s wallet address. Format-wise, each address should be a combination of the Token ID and the wallet address, separated by a colon.Supported Token IDs:
sol: SOL wallet on Solana network.
user_id(optional): your internal user ID for analytics and troubleshooting.deposit_type(optional): defines the deposit method shown to the user. Available values:crypto: show only crypto deposit flow;fiat: show only cash deposit flow.If not specified, the user will see a selector and can choose the deposit method.
Branding
For deeper customization (e.g., colors, fonts, logo), reach out to our team.
Minimum Height Requirement
The Zay Pay widget requires a minimum height of 740px to fully display all UI components without internal scrolling.
If you wrap the widget iframe with additional padding or margins (e.g., using Tailwind classes like p-4, mt-6, etc.), make sure to add those values to the base height.
Example calculation:
Base widget height: 740px Wrapper padding: p-4 = 1rem (16px) on all sides → 32px vertical (top + bottom)
Final minimum iframe height: 740px + 32px = 786px
Last updated
