Forwarding Address

One address. Every chain.

One deposit address per user. Deposits work from every supported chain and arrive on the chain you choose. No manual bridging. Self-custodial end to end.

Live in production with select partners. Read the docs

0x7c3A…F21e watching all chains
arrives on Base recipient withdraws anytime
// how it works

From any chain to the one you chose

Set up once. Nothing for your user to learn.

From any chain
EthereumBaseArbitrum OneOP MainnetPolygonBNB ChainTempoPlasma
Forwarding Address 0x7c3A…F21e
Destination · Base
  1. 1

    Generate

    Every user gets a deterministic address, derived from their wallet, your recovery wallet, and the destination chain.

  2. 2

    Activate

    Relayers start watching the source chains you choose.

  3. 3

    Share

    Your user sees one address. It works from exchanges, bridges, and other wallets.

  4. 4

    Forward

    Deposits route automatically and arrive on the destination chain, typically in 10 to 20 seconds.

// the demo

Watch a deposit travel

A USDT withdrawal leaves an exchange on Optimism and lands in a wallet on Arbitrum.

// who it's for

Built for deposit flows

Wrong network deposits aren't support tickets. They're lost users.

// wallets & neobanks

Receive from anyone, anywhere

A friend sends from Polygon. Your user lives on Base. One address, and it just arrives. No network dropdown, no warning modals.

Your deposit address

0x7c3A…F21e
works from
EthereumBaseArbitrum OneOP MainnetPolygonBNB ChainTempoPlasma
One address Any source chain Self-custodial
// onramps & exchanges

Every withdrawal lands

Users pick the wrong withdrawal network constantly. Point withdrawals at a forwarding address and every network is a right answer.

Select withdrawal network

Base supported
Arbitrum One supported
OP Mainnet supported
Polygon supported
Any network No wrong choice Auto-routed
// payment apps

Invoice once, get paid from anywhere

Senders pay from whatever chain they hold funds on. Recipients see one balance, on one chain. Nobody hears the word bridge.

Invoice #1024 120 USDC
paid from Polygon Arbitrum BNB Chain settled on Base
Pay from any chain One balance No bridging
// who can move the funds

No custody in the middle

Every forwarding address is a deterministic contract on the source chain. Candide relayers watch and route deposits. They can never take ownership.

If a deposit gets stuck, the recipient withdraws it directly. For users who funded from an exchange they can't transact from, your recovery wallet steps in after a timelock.

Recovery works without us too. The recovery app is public and talks straight to the contracts.

who can move the funds
The recipient anytime
Your recovery wallet after a timelock
Candide never
// the integration

Hand the integration to your agent

Install the Candide skill and Claude or Codex learns the whole flow: routes, minimums, activation, recovery.

claude code
/plugin marketplace add candidelabs/skills
/plugin install candide@candide
codex
npx -y github:candidelabs/skills

Any other agent: point it at the raw skill file.

Under the hood: two calls, one address

Plain JSON-RPC. No SDK required, no contracts to deploy.

1 · generate
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "forwarding_getAddress",
  "params": [{
    "recipient": "0xAbCd…Ef01",
    "custodialWithdrawer": "0xYour…Safe",
    "destinationChainId": 8453
  }]
}
2 · activate
{
  "jsonrpc": "2.0",
  "id": 2,
  "method": "account_activateForwardingAddress",
  "params": [{
    "recipient": "0xAbCd…Ef01",
    "custodialWithdrawer": "0xYour…Safe",
    "destinationChainId": 8453,
    "sourceChainIds": [1, 42161, 10, 137]
  }]
}
forwarding_getRoutes

Supported chains, tokens, and fees. The source of truth.

forwarding_getMinimumAmount

Per-bridge deposit minimums for a route and token.

forwarding_estimateOutput

What the recipient receives after fees.

forwarding_getStatus

Delivery status of a deposit, per bridge.

Routes, tokens, and minimums change. Read them from forwarding_getRoutes instead of hardcoding.

// talk to us

Tell us about your deposit flow.

Live in production with select partners. We'll get you set up.