Bosphorus

Private lending on the Logos Execution Zone
↓Borrow without selling.↓Lend without being watched.
02 The problem

Every lending market today is a glass box.

Your collateral, your debt and the price at which you get sold out. Anyone can read them, and bots do.

“Large borrowers get hunted.”

explorer / position / 0x7a3f…c91e
0x51C2…e04B · fund-treasury.eth
412.00 WBTC
21,400,000 USDC
1.08
$63,112
03 The solution
Above the surfaceEveryday · anyone can see
$
USDC
120,000.00
Dive ↓
₿
WBTC
2.00
Dive 0.5 ↓
Your position can live below the surface.
₿
Below the surfacePrivate · only this computer can see
₿
WBTC
0.50
Surface ↑
$
USDC borrowed
75,000.00
Pay back

People see it leave Everyday, not where it went.

Isolated markets like Morpho Blue. Risk controls from Aave v3. The same rules as a public market.

03 Why Logos

On LEZ, privacy is an account type.

LEZ PRIVATE ACCOUNTS
Your private account runs the public lending program inside its own proof. One transaction: private on your side, public on the market's.
LEZ SEQUENCER
Verifies the proof with LEZ's privacy circuit. We didn't write a shielded pool or a verifier.
LEZ WALLET
Keys, mnemonic and private state stay on this laptop. Positions can be recovered from the mnemonic.
LOGOS BASECAMP
The app is a Basecamp module, wallet and markets included, over a C ABI to our client.

Without Logos: build your own shielded pool, verifier and wallet first. Here they're the platform.

04 · LIVE On this laptop, against a local LEZ sequencer

Let's borrow below the surface.

01

Add security

WBTC goes into the market from a private account.

≈ 1 min proof
02

Borrow

USDC comes out into the same private account.

≈ 1 min proof
REALFull proofs on this laptop's GPU · LEZ v0.3.1 private accounts · our lending program · the Basecamp app
MOCKEDA local sequencer (testnet blocks are slow today) · test tokens named WBTC and USDC · we publish the price

→ switch to Basecamp

⏱ While “Add security” proves

The proof goes out.
Your identity doesn't.

Your laptop

  • Keys
  • Builds the proof

Sequencer

  • Checks the proof

Everyone else

  • The debt
  • Who owns it
  • Where the money went
05 Technical quality and security

Built to be checked, honest about its limits.

Architecture

Your laptopapp · prover · wallet
↓ proof
LEZlending · oracle · token
↑ liquidate
Keeper · feed · screener

Tested

  • Property-tested maths
  • Testnet scenarios pass
  • Fault injection
  • 38 findings tracked

Threat model

  • Owner gone: anyone liquidates
  • Stale price: refused
  • Screener: can't move funds

Known limits

  • Amounts and timing link
  • Small anonymity set
  • Sizes are public
06 Track fit and impact · Track B

Sovereign by default. Fit for funds.

  • Privacy by defaultPrivate and screened
  • Your keys, your dataNo server, no account
  • Minimal dataJust a proof
  • ImpactPrivacy that answers auditors
SeesControls
YouEverythingEverything
AnyoneThe debt, not whoLiquidations
ScreenerDepositsApprovals
Price feedNothingThe price
AuditorA yesNothing
06 Impact · Privacy Pools on LEZ

Dirty money? Prove it isn't.

  1. A public deposit gets a label. Where the money came from is on record.
  2. A screener approves clean labels into a Merkle root. Sanctioned sources stay out.
  3. A withdrawal proves its label is under the root. Not which label it is.
  4. Not approved? Take it back. Only the depositor can, and they always can.
50.5 swithdraw proof, GPU
3public accounts touched
0bytes of holder or label
root · accepted by the pool yours: proven, never named denied: never in the tree
06 Impact · E11 solvency proofs

Prove you're good for it. Not who you are.

AN AUDITOR ASKS
one of market WBTC·USDC's
positions is mine, with
health ≥ 1.5
collateral ≥ 1.5 WBTC
✓
Verified. The auditor learns
disclosure id 9c41…f2a0
position ?HF 2.002.40 WBTC
position ?HF 1.111.80 WBTC
position ?HF 1.671.62 WBTC
position ?HF 1.602.05 WBTC
position ?HF 1.822.75 WBTC
lenderno debtsupply only

The cover set is every position in the market. Four qualify, and the proof doesn't say which one is yours. 6–10 s on the M1 GPU, at any market size.

Refused in testing: another key, a cover set narrowed to one, a moved price, a stale snapshot, a replayed proof, a flipped byte.

07 Continuation and the ask

Three milestones. The first is done.

01Release
  • Open-source repo
  • Testnet: borrow, repay, liquidate, private flows pass
  • Basecamp app, v0.1.0 preview
Owner · Vishnu Prakash
02Hardening
  • Self-review (38 findings, 5 serious)
  • Fix the serious findings
  • External security audit
  • Submission to a Logos RFP or λPrize
Owner · Vishnu Prakash
03Adoption
  • Docs for users and operators
  • Named operators: keeper, price feed, screener
  • Bootstrapping liquidity in the first markets
Owner · Vishnu Prakash
THE ASK$100k, against these milestonesIntroductions to early users, operators and liquidity partners

Private lending that runs on your own laptop, with compliance you can prove.

Private by default.Screened by design.Solvency on demand.
BOSPHORUSgithub.com/merkle-groot/bosphorusLOGOS EXECUTION ZONE · v0.3.1
A1 Appendix · pseudonymous positions

Positions stay public. Owners don't.

STAYS IN THE PROOF
secret spending keyfrom the wallet mnemonic
salt = HMAC(key, market ‖ owner ‖ index)
seed = SHA256(market ‖ owner ‖ salt)
position = PDA(lending, seed)collateral, debt, health: publicPUBLISHED

Anyone can check health and liquidate. Lenders never depend on a borrower being online.

Two positions of one owner get unrelated addresses.

Lose the laptop, keep the mnemonic: positions are found again by walking index 0, 1, 2…

Lenders can go further: shares held on their own private account. No public position at all.

A2 Appendix · why lenders stay safe

The programs are blind. We made that safe.

On LEZ a program can't read state while it plans a transaction, and each step sees one account.

So every operation carries claims about what it can't see: a ratio interval, a price interval, a window in time. Each account checks the claims that concern it.

The maths in core makes sure any value inside a claim leaves lenders no worse off. Rounding always goes their way.

A3 Appendix · honest about it

What the water doesn't hide yet.

01
Exact amounts

An unusual amount can link a dive to a supply, or a borrow to a later withdrawal.

02
Timing

Dive, act and surface in quick succession and the steps line up.

03
The way in

A dive shows the account it left and how much.

04
A small crowd

Few users means a small anonymity set. Every client uses the same defaults, rounded to the minute, so settings don't single anyone out.

SELL LINE · 80%
Calm water
nothing owed
OWE NOTHINGDRAG TO BORROWTOO MUCH
A4 Appendix · the app

Health is a water level.

Debt over borrowing power, drawn so that health 1.0 sits on the sell line. Ask for too much and the app says so before anything is sent.

Calm water, Safe: health ≥ 1.5 Rising: 1.2 to 1.5 Nearly over: under 1.2

You see all of it. Nobody else sees whose it is.

A5 Appendix · who it hurts

Being seen has a price.

FUNDS

Treasuries

Competitors watch every move in and out of the treasury.

FOUNDERS

Their own token

Borrowing against your own token looks like selling it.

TRADERS

The line

A public liquidation price is a target. Someone will push the price to it.

PEOPLE

A name

A big balance tied to your name invites theft and extortion.

It's your bank statement, pinned to a public noticeboard.

A6 Appendix · the route so far

Built, tested, on testnet.

Spikesgas · proving · privacy
Marketstokens · oracle · lending
Liquidationskeeper · fees
Private modeowners hidden
Testnetboth scenarios pass
Private lendersheld shares · E9
GPU proving36 s on an M1
Basecamp appwallet · markets · tide
Screening, solvencyE10 · E11 · now
0:60PROOF RUNNING
IN THE APP
Bosphorus