Depth · DepthCert, CurbCredit

Lend what a bonded bid will pay, even while Hong Kong is shut.

For 140 hours a week a Hong Kong share token trades with its creation and redemption switched off. The only honest collateral value then is what someone has committed, with money at risk, to pay for it. CurbCredit’s loan-to-value is published, and it never lends more than the bonded bids would pay.

Specimen · in build

Demo counterparties are team wallets: curb-desk posts the bonds and funds the reserve, the Agentic Wallet borrows and takes.

Loan-to-value against honoured depth reading…

ltvFor now —

—

The number is a function, not an opinion

Makers post DepthCerts: firm bids for the asset’s wrapper shares, each backed by a USDG bond of at least a tenth of what it promises to pay. CurbCredit counts only the certs that name it, whose makers still hold and allow enough USDG to pay every bid they have standing, and that would still be there after the slowest possible liquidation: while Hong Kong is open, an hour and a half from now (or, if a close is nearer than that, past the close and the shut rule); while it is shut, past the next reopen (at least 73 hours out) plus a full cure. That is the honoured depth.

Each position’s LTV, ltvFor, is the lowest honoured bid divided by the price, capped at 60% while Hong Kong is open and 30% while it is shut, and zero when the clock is stale, the price is unreadable or nobody has bonded a bid. Your limit never depends on collateral other borrowers post. If depth leaves after money is lent (a cert expires, fills or is revoked), every position’s limit shrinks pro rata: ltvEffective is ltvFor times what the book would pay divided by what is lent, at most one. That is the margin call.

Depth is enforced for the pool: total lending on an asset can never pass what the bids would pay for all the pooled collateral (realisable). A borrow past it is refused with ExceedsDepth(). The plot shows both: the step is each position’s LTV, the slope is what the pool as a whole can borrow as the bonded depth grows.

Revoking an allowance removes all of a maker’s depth at once, and the LTV moves in the same block.

The book CurbCredit reads

Each cert is one price for a number of shares; several certs make a curve. A cert can be taken by the address it names, or by anyone if it names nobody. Certs that name CurbCredit are the depth the lender prices loans off, and only CurbCredit can sell into them (when it has seized collateral to realise).

Reading honouredDepth…

DepthCert book for the asset, naming CurbCredit
CertMakerShares left / sizeBid, USDG a shareBond, USDGExpiresStatusMaker can pay
Reading DepthCert…

A bid that fades pays for it

If a maker fades a fill, the bond goes to the trader in the same transaction; no oracle, no vote.

  1. 1

    The maker bonds a bid

    In the demo the deployer, a team wallet on the maker registry, posts a cert: 0.03 wTCENTx at 52 USDG a share (1.56 USDG), bonded with at least a tenth of that. The USDG for the bid stays in the maker’s wallet, approved to DepthCert.

  2. 2

    The maker walks away

    The maker revokes the allowance. Nothing else happens yet: the cert still looks posted, but it drops out of the honoured depth at once.

  3. 3

    A trader hits it

    The trader’s shares move first, so a trader who cannot deliver can never cause a fade. Then the contract tries to pull the maker’s USDG, with a fixed gas stipend a caller cannot starve.

  4. 4

    Same transaction: the bond changes hands

    The pull fails for want of allowance, so the cert fades: the maker’s whole bond goes to the trader, the trader’s shares come back, and a public Faded event records the reason.

A refusal is a transaction too

borrow and withdraw never revert on a policy refusal. They succeed, emit Refusal with the reason, what was asked and what was allowed, and change nothing, so every no leaves a trace on chain.

The cure clock counts open minutes only

A position over its limit is not liquidated. Anyone may flag it, which starts a cure clock that counts only market time it has witnessed open: a tick adds the minutes since the last tick only if the market was open then and is open now, and the gap is ten minutes or less. Shut or stale time freezes it.

After 30 witnessed open minutes, with the market open and a fresh price, the position can be liquidated, and never for more than a 5% bonus at the price when the breach was flagged. A partial liquidation leaves the rest of the debt owed; bad debt is booked only when every share has been seized. A weekend shut costs the borrower nothing.

Cure clockreading…

—

Post, take, deposit, borrow, repay

Every step is one transaction you sign in your own wallet, simulated first and sent with Curb’s Builder Code attached. The plot above only does maths; these send.

  1. Post a cert (eligible makers only)

    A cert that names CurbCredit is depth the lender prices loans off, so only a maker on the maker registry may post one. Otherwise anyone could fill the book with dust bids and drag the LTV to zero. Open certs, naming nobody, are permissionless. Every cert promises at least 1 USDG, its bond is at least 10% of that, and to count while Hong Kong is shut it must outlive the next reopen plus a cure (at least 73½ hours). Approve enough USDG for the bond now and for paying the bid later.

  2. Take a cert: fill or fade

    Sell shares into an open cert (or one naming you). Your shares move first. If the maker pays, you receive the USDG; if the maker can’t, the cert fades and the whole bond comes to you instead, with your shares back, in the same transaction.

  3. Deposit collateral

    Post wrapper shares to CurbCredit. Depositors must be on the eligibility registry; a debt-free position can always withdraw.

  4. Borrow

    Fixed 5% a year, simple. If the policy says no, the transaction still succeeds and this line shows the reason, what you asked for and what you were allowed.

  5. Repay

    Anyone may repay any position; accrued interest is paid first, and only what is owed is pulled. Repaying can clear a cure.

Contracts and wallets