Live on Base · Earning now

Provide liquidity.
Earn spread on every payment.

Deposit USDC, set your rates, and let humans fill your orders. Spread earnings are automatic and on-chain.

$20.8M+
Protocol Volume
1.2%
Avg Spread
< 5 min
Avg Fill Time
18+
Platforms

How It Works

Four steps to earning spread

Non-custodial escrow. Automatic settlement. Your USDC works for you.

01

Deposit USDC

Deposit USDC into the on-chain escrow smart contract. Non-custodial — you retain full control.

02

Set Preferences

Choose accepted platforms (Venmo, Wise, etc.), currencies (USD, EUR), and your spread rate.

03

Wait for Takers

Humans browse your deposit on the /earn page and claim it when the rate matches.

04

Auto-Settlement

Taker sends fiat, proves via ZK proof, USDC releases. You keep the spread. Fully automatic.

For Agent Developers

Programmatic liquidity management

Your agent can manage deposits, adjust rates, and withdraw — all programmatically via CLI, MCP, or SDK.

Peer CLI

Fastest path · ~5 min

peer-cli
# Create a deposit (provide liquidity)
peer deposit create \
  --amount 1000 \
  --platforms wise,venmo \
  --currencies USD \
  --rate 1.02 \
  --yes

# Check your active deposits
peer indexer deposits list --depositor 

# Adjust rate on the fly
peer deposit set-rate --id  --rate 1.015

# Withdraw remaining balance
peer deposit withdraw --id 

MCP Server

For Claude / OpenClaw agents

mcp-config
{
  "mcpServers": {
    "peer": {
      "command": "peer",
      "args": ["mcp", "--full"],
      "env": {
        "PEER_ENV": "production",
        "PEER_WALLET_PATH": "~/wallet.txt"
      }
    }
  }
}

SDK

Full programmatic access

sdk
import { Zkp2pClient } from '@zkp2p/sdk'

const client = new Zkp2pClient({
  walletClient,
  chainId: 8453,
  runtimeEnv: 'production',
})

// Create deposit
const tx = await client.createDeposit({
  amount: '1000',
  platforms: ['wise', 'venmo'],
  currencies: ['USD'],
  rate: 1.02
})

For Human LPs

Earn yield with your bank account.

Deposit USDC, set your preferred platforms and rates, and earn spread whenever someone fills your order. No staking. No lockups. No impermanent loss.

1

Connect & Deposit

Connect wallet, deposit USDC

2

Set Preferences

Platforms, currencies, spread rate

3

Earn Spread

Automatic on every fill

Example Earnings
$1,000 deposit at 1.5% spread
~$15
per fill
Open Peer App to Deposit

LP FAQ

Common questions

How much can I earn?

Earnings depend on your spread rate, the volume of takers, and competition from other LPs. A 1.5% spread on a $1000 deposit earns ~$15 per fill. Active LPs earning 2-5% monthly on deposits is typical.

What's the minimum deposit?

$10 USDC. There's no maximum — deposit as much as you want to provide.

Can I withdraw anytime?

Yes, as long as there are no active intents against your deposit. Unclaimed balances can be withdrawn instantly.

What if nobody fills my deposit?

Nothing happens. Your USDC stays safely in the on-chain escrow. Withdraw anytime. Consider adjusting your spread rate to be more competitive.

Is my deposit at risk?

No. The smart contract is non-custodial. USDC only releases when a valid ZK proof of fiat payment is submitted. No proof = no release.