ZKP2P
  • Introduction
    • 🐣ZKP2P
  • User Guides
    • For Buyers
      • Complete Guide to Onboarding with ZKP2P
      • Handling Verification Issues as a Buyer
    • For Sellers
      • How to Provide Liquidity and Sell USDC
      • How to Update USDC Conversion Rates
      • Handling Manual Releases as a Seller
      • TradingView Links for Setting Conversion Rates
      • Calculating APR
  • Developer
    • 📔The ZKP2P V2 Protocol
    • 📜Smart Contracts
      • Escrow
        • IEscrow
      • IPaymentVerifier
      • ⛓️Deployments
    • 🌎PeerAuth Extension
      • 🖥️zkTLS
    • Gating Service
    • 🤝Integrate ZKP2P
    • 🏗️Build a New Provider
    • 🔓Security
    • 😬Risks
    • 🤔FAQ
    • 🦺Privacy and Safety
  • 🔖Resources
    • 👨‍💻Team
    • 🐦Twitter
    • 💻Github
    • 💬Telegram
    • 💹ZKP2P
  • Brand Kit
Powered by GitBook
On this page
  • Redirect to ZKP2P
  • To Token
  • Examples
  • Help?
  1. Developer

Integrate ZKP2P

PreviousGating ServiceNextBuild a New Provider

Last updated 1 month ago

Try the demo at

Redirect to ZKP2P

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

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

Parameter
Description
Type
Example

referrer

(Required) Your application name

String

referrer=Rampy

referrerLogo

(Recommended) Your application logo

String

referrerLogo=https://<logo-link>

callbackUrl

(Recommended) URL to which users are redirected after successful onramp

String

callbackUrl=https://<your-app>/<success>

inputCurrency

(Optional) Input currency user wants to swap. Defaults to users's national currency or USD.

String

inputCurrency=USD

inputAmount

(Optional) Amount of input currency the user wants to swap

Number (upto 2 decimal places)

inputAmount=12.34

paymentPlatform

(Optional) Payment platform user will onramp from

String

paymentPlatform=venmo

amountUsdc

(Optional) Amount of output USDC the user wants to ramp to. Include 6 decimal places.

String

amountUsdc=1000000

toToken

(Optional) Output token the user will onramp to

String (Has to be in the format explained below)

toToken=8453:0x0000000000000000000000000000000000000000

recipientAddress

(Optional) Address to which the output tokens will be sent.

String

recipientAddress=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 (e.g. 1 for Ethereum Mainnet,8453 for Base, 792703809 for Solana, 43114 for Avalanche C‑Chain etc).

  • 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.

  • Examples

    • Base ETH: 8453:0x0000000000000000000000000000000000000000

    • Solana SOL: 792703809:11111111111111111111111111111111

    • Ethereum Mainnet ETH: 1:0x0000000000000000000000000000000000000000

    • Avalanche USDC: 43114:0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e

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

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 requried 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

Help?

For any issues or support, reach out to .

🤝
ZKP2P Team
https://demo.zkp2p.xyz
Integration modal that user sees upon landing on zkp2p
Request instructions shown to user on zkp2p app