Skip to main content
As a Maker, you provide liquidity that enables cross-chain transfers. You deposit tokens on a destination chain into an Ad and wait for Bridgers to select your ad for their transfers. When a Bridger deposits on the source chain and the ZK proof settles both sides, you receive the Bridger’s source-chain tokens in exchange. Your destination-chain tokens go to the Bridger’s recipient. This guide walks you through creating your first liquidity ad and explains how the economic model works.

How Makers earn

When a transfer settles, the OrderPortal releases the Bridger’s deposited source-chain tokens to a recipient address you specify — your “ad recipient.” Your destination-chain tokens are released to the Bridger’s recipient. You set the terms when you create the ad, so you control the rate at which you are willing to exchange.
ProofBridge is live on testnet. All funds involved are testnet tokens with no real-world value.
  • Gas — Sepolia ETH from a public faucet, Stellar Testnet XLM from friendbot.
  • Liquidity — fund the ad with bridgeable tokens (ERC-20 / SAC / SEP-41). Claim them from the in-app Faucet if you don’t already hold any.

Prerequisites

  • A connected wallet on the destination chain (the chain where you hold the tokens you want to offer). See Connect your wallet.
  • Sufficient gas to cover the funding transaction.
  • Testnet tokens to fund the ad — claim them from the in-app Faucet if needed.

Create a liquidity ad

1

Connect your wallet on the destination chain

Open ProofBridge and connect your wallet to the chain where you hold the tokens you want to provide. For example, if you want to offer XLM to Bridgers coming from Ethereum Sepolia, connect your Stellar wallet.
2

Navigate to Ads Management

In the top navigation, click Ads Management (or My Ads). This page shows all ads you have created along with their current status and available balance.
3

Create a new ad

Click Create ad. Fill in the ad parameters:
FieldDescription
Source chainThe chain where Bridgers will deposit (order chain)
Destination chainThe chain where your tokens are held (ad chain)
Source tokenThe token Bridgers will deposit on the source chain
Destination tokenThe token you are providing on the destination chain
AmountThe total liquidity you want to offer
Ad recipientThe address on the source chain where you receive Bridger deposits
Click Create when you are ready. The frontend calls POST /v1/ads/create on the relayer, which returns the transaction data for the AdManager contract.
4

Sign and submit the create transaction

Your wallet prompts you to confirm a transaction to the AdManager contract on the destination chain. Review the contract address and parameters, then click Confirm.This transaction registers your ad on-chain. The ad starts with a zero balance — you fund it in the next step.
Creating an ad does not lock any tokens yet. Tokens are only deposited when you fund the ad.
5

Fund the ad with your tokens

After the create transaction confirms, click Fund ad. Enter the amount of destination-chain tokens you want to deposit into the ad. Click Fund, then confirm the transaction in your wallet.The frontend calls POST /v1/ads/:id/fund. The AdManager contract holds your tokens in escrow until Bridgers complete orders against your ad.
You can fund an ad multiple times to increase available liquidity without creating a new ad. See Manage your ads for details.
6

Wait for Bridgers to select your ad

Your ad is now visible in the ProofBridge marketplace. Bridgers can browse it, select it for a transfer, and submit orders against it. You do not need to take any action at this stage — the matching happens through the marketplace.
7

Liquidity is locked for a matched order

When a Bridger creates an order using your ad, the relayer notifies your ad’s on-chain position. The AdManager calls lockForOrder, reserving a portion of your ad’s balance for that specific order. The locked amount cannot be used for other orders while the settlement is in progress.
Locked liquidity is temporarily unavailable. It is released (to the Bridger’s recipient) once the ZK proof settles. Make sure you fund your ad with an amount you are comfortable having locked for up to several minutes per order.
8

Receive the Bridger's source tokens after settlement

Once the ZK proof settles both chains:
  • The Bridger’s source-chain tokens are released to your ad recipient address on the source chain.
  • Your destination-chain tokens are released to the Bridger’s recipient address.
Check your source-chain wallet to confirm receipt. The order appears as Completed in your Ads Management dashboard.

Understanding locked liquidity

When an order is matched to your ad, the AdManager locks the corresponding token amount. This prevents double-spending across concurrent orders. The lock is released when:
  • The ZK proof settles the order successfully, or
  • The order expires or fails (funds return to your available ad balance).
You can monitor locked vs. available balance for each ad on the Ads Management page. See Manage your ads to adjust balances, withdraw unused funds, or close an ad.

Risk considerations

  • Settlement dependency: Funds remain locked until the ZK proof is generated and submitted. This is typically 1–5 minutes. ProofBridge’s cryptographic guarantees ensure that if a Bridger deposited valid funds, you will receive them.
  • Token route availability: ProofBridge must have a configured token route between your chosen token pair and chains. If the route is not available, the ad will not be visible in the marketplace.
  • Testnet limitations: Testnet tokens have no real-world value. Do not bridge mainnet assets at this stage.