Skip to main content

ZKP2P Redirect Integration

Try the demo

Try the demo at https://demo.zkp2p.xyz. Currently, redirect integration is only available on desktop.

Integrate the ZKP2P onramp directly into your application by using our redirect flow. With a single link, you can offer your users fast and affordable onchain onboarding, complete with:

  • Multiple payment platforms (Venmo, Revolut, Wise, Cash App)
  • Supported blockchains (Base, Solana, Ethereum, Polygon, etc.)
  • Supported assets (USDC, SOL, ETH, USDT, etc.)
  • Gasless transactions
Integration modal that user sees upon landing on zkp2p

Integration modal that user sees upon landing on zkp2p

Quickstart

Integration is simple:

  1. Customize the query parameters in the URL.
  2. Embed the link within your application.
  3. Users will redirect to ZKP2P for seamless onramping
  4. Users are redirected back to your site upon successful onramping

Redirect URL Query Parameters

ParameterDescriptionTypeExample
referrer(Required) Your application nameStringreferrer=Rampy
referrerLogo(Recommended) Your application logoStringreferrerLogo=https://<logo-link>
callbackUrl(Recommended) URL to which users are redirected after successful onrampStringcallbackUrl=https://<your-app>/<success>
inputCurrency(Optional) Input currency user wants to swap. Defaults to users's national currency or USD.StringinputCurrency=USD
inputAmount(Optional) Amount of input currency the user wants to swapNumber (upto 2 decimal places)inputAmount=12.34
paymentPlatform(Optional) Payment platform user will onramp fromStringpaymentPlatform=venmo
amountUsdc(Optional) Amount of output USDC the user wants to ramp to. Include 6 decimal places.StringamountUsdc=1000000
toToken(Optional) Output token the user will onramp toString (Has to be in the format explained below)toToken=8453:0x0000000000000000000000000000000000000000
recipientAddress(Optional) Address to which the output tokens will be sent.StringrecipientAddress=0xf39...66

To Token

The toToken parameter specifies the destination chain and token in a single string, using the format:

chainId:tokenAddress
  • chainId — The numeric Chain ID of the target network, below is the current list of supported chains.
ChainchainID
Base8453
Solana792703809
Polygon137
BNB56
Avalanche43114
FlowEVM747
Arbitrum42161
HyperEVM999
Hyperliquid1337
Scroll534352
Ethereum1
  • tokenAddress — The on‑chain token address:

    • For EVM chains, include the full 0x‑prefixed address (use the zero address 0x0000…0000 for native currency).
    • For non‑EVM chains (e.g. Solana), use the native token's base‑58 address.
  • Base ETH: 8453:0x0000000000000000000000000000000000000000

  • Solana SOL: 792703809:11111111111111111111111111111111

  • Ethereum Mainnet ETH: 1:0x0000000000000000000000000000000000000000

  • Avalanche USDC: 43114:0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e

  • Hyperliquid USDC: 1337:0x0000000000000000000000000000000000000000

Examples

Onramp to Base ETH

https://zkp2p.xyz/swap?
referrer=Rampy+Pay
&referrerLogo=https://demo.zkp2p.xyz/Rampy_logo.svg
&callbackUrl=https://demo.zkp2p.xyz
&toToken=8453:0x0000000000000000000000000000000000000000
&recipientAddress=0x84e113087C97Cd80eA9D78983D4B8Ff61ECa1929

Onramp 10 USD to Solana

https://zkp2p.xyz/swap?
referrer=Rampy+Pay
&referrerLogo=https://demo.zkp2p.xyz/Rampy_logo.svg
&callbackUrl=https://demo.zkp2p.xyz
&inputCurrency=USD
&inputAmount=10
&toToken=792703809:11111111111111111111111111111111
&recipientAddress=<insert-sol-address>

Onramp 10 EUR via Revolut to Mainnet ETH

note

Payment platform is not enforced. Upon landing on zkp2p the user can chose to select a different payment platform to complete the flow.

https://zkp2p.xyz/swap?
referrer=Rampy+Pay
&referrerLogo=https://demo.zkp2p.xyz/Rampy_logo.svg
&callbackUrl=https://demo.zkp2p.xyz
&inputCurrency=EUR
&inputAmount=10
&paymentPlatform=Revolut
&toToken=1:0x0000000000000000000000000000000000000000
&recipientAddress=0x84e113087C97Cd80eA9D78983D4B8Ff61ECa1929

Onramp Exact USDC Amount

Onramp exactly 1 USDC on Base to a recipient address. Users can choose their preferred currency and payment method. The best available quote is fetched and displayed so the user can complete the order.

note
  • Exact amount output is currently only available for USDC and not for other tokens
  • amountUsdc overrides any output token (toToken) and input (inputAmount) params
  • recipientAddress is required for the exact output flow
https://zkp2p.xyz/swap?
referrer=Rampy+Pay
&referrerLogo=https://demo.zkp2p.xyz/Rampy_logo.svg
&callbackUrl=https://demo.zkp2p.xyz
&amountUsdc=1000000
&recipientAddress=0x84e113087C97Cd80eA9D78983D4B8Ff61ECa1929
Request instructions shown to user on zkp2p app

Request instructions shown to user on zkp2p app

Help?

For any issues or support, reach out to ZKP2P Team.