Skip to main content

Forwarding Address for Onramps and Deposits

Let users deposit into one address from any supported chain and receive funds on their destination chain.


Use Forwarding Address for onboarding, onramp, exchange withdrawal, and payment flows where the sender's source chain may not match the user's destination chain. The user receives one deposit address; Candide routes supported deposits to the destination wallet automatically.

Try it: forwarding-address.candidelabs.com

Start Integrating

Install the Candide skills so your AI agent knows how to wire up the Forwarding Address API.

/plugin marketplace add candidelabs/skills
/plugin install candide@candide

Then ask: "Integrate the Forwarding Address API."

For manual reference: API Reference | Integration Guide

Why It Matters

Users fund wallets from exchanges, fiat on-ramps, other wallets, and different L2s. The sender's chain often does not match the recipient's preferred chain.

Forwarding Address removes that coordination. A user can receive USDT from Arbitrum into a wallet on Base, fund an L2 wallet from a CEX withdrawal network, or accept payments without asking the sender to bridge first.

How It Works

  1. Generate a deterministic Forwarding Address for a recipient and destination chain.
  2. Activate monitoring for the supported source chains.
  3. Show the same address to the user for deposits.
  4. When funds arrive, they route automatically to the destination wallet.

Funds route through self-custodial smart contracts. Integrators can configure a delayed recovery wallet as a fallback for stuck funds.

Best Fit

  • Wallets that want one deposit address per user.
  • On-ramp and exchange funding flows where supported withdrawal chains vary.
  • Payment apps where sender and recipient may operate on different chains.

Technical questions? Reach out on Discord or GitHub