LithosDocs
ProtocolPayoutsTokenStatsDocs
Start mining
Documentation home
Protocol
  • Lithos Protocol
  • LFSM
    • Rollups
    • NISPs
    • Emissions
    • Mining on Lithos
    • Candidate building
    • Ergo Voting
  • LithosDex
    • Choosing a pool
    • Trading with orders
    • Providing liquidity
    • Creating a pool
    • Difficulty forwards
    • SigmaFi bonds
Run Lithos
  • Startup guide
    • Setting up an Ergo node
  • Configuration
    • Node connection and security
    • Stratum and difficulty
    • Block packages
    • Batching and orders
    • Collateral and emission
    • Wallet and consolidation
    • Statistics and web panels
    • Synchronization and storage
    • Tasks and dispatchers
    • Failure modes
    • Reporting issues
    • Renting hashrate into Lithos
    • Checking your wallet
Client API
  • Overview
    • getLithos client information
    • getList UTXO ids for blocks
    • getUTXO ids by block height
    • getBlock info by UTXO id
    • postBlock info for multiple UTXO ids
    • getGet a block's miner set
    • getList all pool blocks
    • getGet Lithos payouts
    • getStatistics overview
    • getMining and payment totals
    • getMining statistics by hour or day
    • getEstimate Lithos hashrate
    • getNetwork difficulty by epoch
    • getThis client's own hashrate
    • getThis client's hashrate over time
    • getThis client's payouts and claims
    • getCollateral inventory
    • getThis wallet's lending earnings
    • getLocal mining activity
    • getCollateral market snapshot
    • getList queue boxes
    • getList the active set
    • getPermit price history
    • getYour lending status
    • postQuote joining the queue
    • postJoin the collateral queue
    • getLithosDex pool state
    • getEvery LithosDex pool
    • getOne LithosDex pool and its vault
    • getList your outstanding orders on any pool
    • postQuote a direct swap on any pool
    • postSwap directly on any pool
    • postQuote a direct deposit on any pool
    • postDeposit directly on any pool
    • postQuote a direct redemption on any pool
    • postRedeem a provision directly on any pool
    • getList your provisions on any pool
    • postClaim a provision's fees on any pool
    • postCheck a flush on any pool
    • postFlush any pool
    • getA verified pool's price history
    • getA verified pool's fee history
    • getA verified pool's recent activity
    • getA provision's fee history on a verified pool
    • postQuote a new LithosDex pool
    • postCreate a LithosDex pool
    • postQuote a swap order on any pool
    • postPlace a swap order on any pool
    • postQuote a deposit order on any pool
    • postPlace a deposit order on any pool
    • postQuote a redeem order on any pool
    • postPlace a redeem order on any pool
    • getLithosDex fee vault state
    • getList your outstanding orders
    • postQuote a swap order
    • postPlace a swap order
    • postQuote a deposit order
    • postPlace a deposit order
    • postQuote a redeem order
    • postPlace a redeem order
    • postCancel an order
    • postQuote a swap
    • postQuote a swap by desired output
    • postExecute a swap
    • postQuote a liquidity deposit
    • postDeposit liquidity
    • postQuote a liquidity redemption
    • postRedeem liquidity
    • getList liquidity provisions
    • postLook up provision NFTs
    • postClaim settled fees for a provision
    • postQuote a provision resize
    • postResize a provision
    • postCheck a pending fee flush
    • postFlush pending fees to the vault
    • getPool-wide fee history
    • getPool price history
    • getRecent pool activity
    • getFee history for one provision
    • getDifficulty accumulator and the next epoch's difficulty
    • getList open offers
    • postCreate an offer
    • postQuote an offer
    • postQuote filling an offer
    • postFill an offer
    • postQuote cancelling an offer
    • postCancel an offer
    • getThe whole market
    • getYour settled positions and closed offers
    • getList your positions and offers
    • postQuote settling a position
    • postSettle a position
    • getList open orders
    • postCreate an order
    • postQuote an order
    • postQuote cancelling an order
    • postCancel an order
    • postQuote filling an order
    • postFill an order
    • getList live bonds
    • postQuote repaying a bond
    • postRepay a bond
    • postQuote liquidating a bond
    • postLiquidate a bond
    • postQuote a claim
    • postClaim a settled bond
    • postLook up bond assets
    • getThis wallet in SigmaFi
    • getList configured oracle feeds
    • getCurrent oracle state and recent confirmed history
    • getWallet balances
    • getYour block rewards
    • postClaim unlocked block rewards
    • getVerified tokens
    • getArb stake
    • postReclaim the arb stake
    • getGet Stratum information
    • getGet candidate settings
    • getGet difficulty commitment
    • postCommit a difficulty
    • getGet best NISP at height
Lithos

A decentralized mining pool protocol on Ergo. Miners build their own blocks; contracts pay them for proven work.

Live on Ergo mainnet
Protocol
  • How Lithos works
  • Mining on Lithos
  • NISPs
  • Emissions
  • LFSM contracts
Run Lithos
  • Startup guide
  • Configuration
  • LithosDex
  • Difficulty forwards
  • Client API
  • Failure modes
Network
  • Live stats
  • Public stats API
  • Ergo Platform↗
  • SOAT Miner↗
Community
  • Telegram↗
  • X / Twitter↗
  • GitHub↗
Lithos
© 2026 Lithos Protocol. The Lithos client, its contracts and Lithos Launcher are open source under CC0.λίθος — stone
Docs/Protocol/Extensions

SigmaFi bonds

How a SigmaFi zero-coupon bond is offered, filled, repaid, liquidated and claimed, and how to borrow or lend from the web panel.

Advanced8 min readAssumes you know Ergo's UTXO model and what a token is. Start with Mining on Lithos if not.

SigmaFi bonds are peer-to-peer loans on Ergo, backed by collateral. A borrower locks collateral, a lender lends ERG or a token against it, and the borrower repays a fixed amount by a fixed block. If they do not, the collateral goes to the lender. This page explains how a bond runs, how to borrow and lend from the web panel, and what your client does with bonds on its own.

It does not cover the API endpoints behind the panel, which are in the API reference under SigmaFi Bonds, or the settings for liquidating bonds, which are in Batching and orders.

What a bond is#

Every SigmaFi bond today is a zero-coupon bond. It pays no interest along the way: the borrower repays one amount, larger than the loan, at the end. A bond has these terms:

TermMeaning
LoanERG, or an amount of one token
RepaymentWhat the borrower pays back, in the same asset as the loan
MaturityThe block by which the borrower must repay. Repayment closes at this block
CollateralERG and any tokens the bond holds until it is repaid or liquidated
Batching reserveERG the lender adds above the collateral on fill; refunded to the bond holder on repayment or available to a liquidator
LiquidationThe rule for when the bond can be liquidated. Today, anyone from maturity on

The difference between the repayment and the loan is the lender's return.

How a bond is made#

Borrowers create an order, locking their collateral with the requested loan amount, repayment, and maturity. A lender fills the order: the principal goes to the borrower and the collateral moves into the bond. The lender chooses and funds a separate batching reserve at this point. The borrower’s entire collateral remains protected from this fee. SigmaFi V2 does not support lender-created offers.

An order can fix its maturity to a block, or ask for a term counted from the block a lender fills it. A term counted from the fill does not shrink while the order waits. It must be at least 30 blocks.

Before an order is filled, its borrower can cancel it to recover the collateral.

The bond asset#

Filling an order mints two units of the bond asset: one locked in the bond, and one sent to the lender. Whoever holds the circulating unit is owed the bond. You can send or sell it like any token. Settlement burns the bond’s locked unit; claiming the vault burns the holder’s circulating unit.

A verified bond asset uses the circular SigmaFi mark with a small status-colored ZC badge. All lifecycle states use the dark mark. Compact collateral tooltips place the ZC badge beside the mark for readability. Hover or focus it to inspect repayment, maturity, collateral and any vault proceeds. LithosDex Provisions use the same detail cards as the Wallet. The Documentation link opens this page.

Its EIP-4 name is SigmaFi-ZC-Bond-<first six token ID characters>. A name and description are set by whoever minted a token, so they prove nothing. The panel uses SigmaFi Bond and LithosDex Provision as display labels for these assets. Anyone can mint a token with the same name. The web panel and Wallet check each bond asset against the chain and mark it ZC-Bond only when it is the asset its bond was created with. A token named like a bond asset that fails the check is marked Not a ZC-Bond.

How a bond ends#

A bond ends in one of two ways, and either way the lender's side goes to a vault for the bond asset's holder:

  1. Repaid. Any block before maturity, the borrower pays the repayment into the vault, and the collateral returns to them. The lender-funded reserve moves into the vault with the repayment, so the bond holder recovers it on claim.
  2. Liquidated. From maturity on, anyone can liquidate the bond. The collateral goes to the vault, while the liquidator may keep the separate lender-funded reserve. With the standard maturity liquidation rule, the vault receives at least all the borrower’s collateral and all collateral tokens.

The agreed liquidation expression determines both eligibility and payout contents. The client currently creates orders with MaturityLiquidation, which enforces the behavior above. The bond contract itself pins the vault, settlement tags and locked-unit burn; inspect any different liquidation expression before relying on its collateral payout. Principal amounts are carried in the live bond’s registers, so the client can read the agreed loan directly while separately checking the bond’s origin against its minting order.

The holder of the bond asset then claims what the vault holds for it. One claim takes the bond's own settlement output and at most 8 other vault boxes naming the asset, largest first, and burns the bond asset. A vault box the claim leaves out can never be claimed after, so the claim's check lists any such box before you send.

You do not need to liquidate bonds yourself. Lithos miners liquidate every matured bond that pays a batching fee of at least 0.05 ERG, in their own blocks first and by broadcast one block later.

Borrow or lend from the web panel#

Open Extensions > SigmaFi in the navbar. It has four views:

ViewWhat it doesNeeds your API key
MarketLoan requests and active bonds, with collateral, repayment, term, total interest and secondary APROnly to send
BorrowCreates a loan request; collateral tokens come from the client wallet dropdownFor wallet tokens and publishing
PortfolioLending, borrowing and open requests, with cancel, repay, liquidate and claimYes
SearchLooks up any bond asset by token ID, including collateral and confirmed settlement evidenceNo

The Borrow form adds a 0.001 ERG box minimum to your entered ERG collateral. Entering 10 ERG locks 10.001 ERG, plus a separate creation network fee. There is no borrower fee-reserve input. On fill, a lender choosing a 0.05 ERG reserve funds that reserve in addition to the principal; the bond then holds 10.051 ERG. On repayment, 10.001 ERG returns to the borrower and the 0.05 ERG reserve goes to the bond holder’s vault with the repayment. NFT collateral is fixed at one unit, and NFT assets are excluded from the principal selector.

In Market, select Lend, enter the Batching reserve (ERG), and review the updated wallet impact. The form starts at 0.05 ERG. Any nonnegative amount is allowed, including zero, but clients on shipped settings skip automatic liquidation below 0.05 ERG. Changing the reserve requires a fresh preview.

The Search tab accepts a bond asset’s token ID and looks it up through your client. Wallet bond links open this page with that asset already selected. Click a SigmaFi Bond or LithosDex Provision in the collateral list, or its detail card, to open its own lookup. Each bond can lead to another bond, so you can follow any collateral chain without needing to own those assets. LithosDex provisions open LithosDex > NFT search with their token ID. Classification comes from the client’s chain checks; a matching name alone never establishes origin.

Hovering a bond asset shows Active, Matured, Repaid, or Liquidated, with matching icon-tray and badge colors. The client establishes settlement status from confirmed spend evidence. Its settlement transaction, block, payout, and returned collateral remain available after the vault output is claimed. Incomplete evidence is shown as Unknown, with the reason supplied by the client.

The loan term can be entered in days or whole blocks. Switching units preserves the block duration; days use an estimate of 720 blocks per day. Block input does not accept decimals.

Collateral Ratio and USD estimates#

The Collateral Ratio is the estimated USD value of the collateral divided by the loan principal. This is an informational health rating, with no price-based liquidation threshold. The agreed maturity and liquidation script determine when a bond can be liquidated.

ERG uses the client's confirmed erg-usd oracle. SigUSD and USE use an assumed $1 peg. Other prioritized, verified tokens use the deepest eligible LithosDex route to one of those assets, with up to three pools. Routes are ranked by their weakest quote-side USD reserve. Unsafe and unchecked pools are excluded; Spectrum pools are not used. The question-mark helper identifies the oracle and pool route used.

Estimates exclude batching fees, the box minimum, and slippage. Unpriced tokens and NFTs remain visible but are not valued. A ≥ percentage or dollar amount is a lower bound covering only priced collateral. Missing principal prices show an unavailable rating; stale oracle data is excluded from ERG pricing. The market can sort by Collateral Ratio or filter by minimum estimates and unpriced or partial collateral. The display is red at 80% or below, orange at 90%, yellow at 100%, and greener at 125%, 150%, 175%, and 200% or above. These colors do not change any liquidation rule.

Every action is checked by your client first and shows what you pay, what you receive and any warning before anything is signed. A check never signs or sends anything. The send uses your client's wallet and pays the quoted network fee (currently 0.001 ERG).

Choose the reserve before you lend. It is your money in addition to the principal, and is refunded on repayment. Under the standard maturity liquidation rule, it can pay the liquidator while the borrower’s collateral goes to the vault. The displayed collateral amount excludes the reserve and box minimum. A reserve below 0.05 ERG is left to manual liquidation by clients on shipped settings. The client’s single-bond liquidation action also needs enough reserve to pay its network fee and minimum reward output; a very small reserve may require a separately constructed transaction.

What can go wrong#

SituationWhat happensWhat to do
The borrower misses maturityThe bond can be liquidated. The collateral goes to the vaultClaim it from Portfolio once it is liquidated
You repay with two blocks or fewer leftThe repayment counts only if it is mined before the maturity block. If it is not, it fails and the bond can be liquidated. The check and the send both warnRepay earlier than the last few blocks
The collateral is worth less than the loan at maturityThe borrower may let the bond be liquidatedChoose collateral and terms that cover your loan
You chose a reserve under 0.05 ERGClients on shipped settings skip automatic liquidationUse Portfolio if the reserve covers a manual liquidation, or construct a transaction separately
You send the bond asset awayWhoever holds it is paid instead of youKeep the bond asset until you claim
You claim while a liquidation is still pendingYour client refuses the claimClaim after the liquidation confirms

Next steps#

  • Batching and orders: how your client liquidates bonds.
  • Block packages: the sigmafi source that puts liquidations in your blocks.
  • Difficulty forwards: the other extension.
Edit this page on GitHubsynced from aa061a5
← PreviousDifficulty forwardsNext →Startup guide
On this page
  • What a bond is
  • How a bond is made
  • The bond asset
  • How a bond ends
  • Borrow or lend from the web panel
  • Collateral Ratio and USD estimates
  • What can go wrong
  • Next steps