To the regulator
- Quotes weighed
- 3
- Winner's rank on rate
- 2
- Gap to best rate
- 6-25 bp band
- Lenders named
- none
Sealed-bid repo on Canton
A borrower asks a panel of lenders for cash against collateral. Each rate reaches the borrower and nobody else, and the repo then lives on the ledger until it is repurchased.
template RepoQuote
with
borrower : Party
lender : Party
rateBps : Decimal
haircut : Decimal
...
where
signatory lender, borrower
-- no observer: rivals and the
-- regulator never receive it
01 · Lifecycle
Every step is a Daml choice the contract re-checks. Nothing settles on trust.
Borrower
Only the invited lenders see it, and it carries no rate.
Each lender
Full principal locked behind the quote. Rivals and the regulator never receive it.
Borrower
Atomic opening leg: collateral pledged, cash delivered, losers refunded unrevealed.
Lender and borrower
Calls priced from a mark under an hour old, refused while covered or below the minimum transfer. Swaps and rolls re-check coverage.
Borrower · Lender
Principal plus ACT/360 interest home, fee to the venue. An unanswered call or past maturity hands the pledge to the lender.
02 · Privacy proof
Nothing is hidden by the page. What a role cannot see never reached its node: the contract's signatories and observers decide who receives each fact.
0 rival quotes on any lender node, read back from every node on every run.
| Contract | Borrower | Lender B | Regulator |
|---|---|---|---|
| Request | ✓ | ✓if invited | — |
| Lender B's own quote | ✓ | ✓ | — |
| Lender A's quote | ✓ | —never arrives | — |
| Loss notice | ✓ | rankonly | — |
| Best execution | ✓ | — | ✓no names |
| Lifecycle reports | ✓ | ✓its repos | ✓every event |
03 · Best execution
When the cheapest rate's haircut does not cover, the borrower takes rank 2, and can still show the regulator how price discovery went.
To the regulator
To each losing lender
Rank 3 of 3
No winning rate. No winner. That is all a loser is told.
04 · BitSafe Decentralization Manager
Margin is computed from a mark that k of n independent pricers must confirm. A lender can be a syndicate that quotes, calls margin, defaults and offers rolls only after a threshold of its members confirms.
governance-action-v1 and governance-core-v1 DARs unchanged.05 · Canton Token Standard
Cash such as USDCx and collateral such as CBTC as CIP-0056 allocations. Repurchase unwinds them, default executes them, margin and substitution add or swap them.
Allocation / AllocationRequest interfaces, against a registry implementing them.06 · AI desks over MCP
Each agent reads only its own party's node, so it is bound by the same privacy as a human: a lender's agent never sees a rival's rate.
Quotes, calls margin, reviews substitutions, offers rolls.
open_requestsquotecall_marginoffer_rollloss_historyprivacy_checkRanks quotes by coverage and takes the cheapest covered one.
quotesawardbookaccept_rollprivacy_checkEvery lifecycle event and every best-execution record, nothing upstream.
lifecyclebest_executionprivacy_check07 · Business model
A fee in basis points per annum of principal, ACT/360, collected inside the repurchase and every roll, so it cannot be skipped. Built and tested.
Every number on the desk is read from that role's own node.