List a bond
To sell a bond you hold, you list it at an ask in ETH. A listing is a signed message, free and off chain. A buyer fills it on chain and pays the ask plus the marketplace fee, the ask reaches your wallet in ETH, and the bond leaves your wallet at that fill and not before. The mechanism behind all of it is on How trading works.
Approve the marketplace, once
Section titled “Approve the marketplace, once”The first time you list, the bond’s page shows the card “Approval Required”, Approve Marketplace, with the line “The Marketplace needs permission to manage your bonds before you can list them.” Press Approve. The button reads Confirm in wallet while your wallet asks and Processing… while the transaction is in flight, and the toast “Approval granted” appears at the receipt. It is one approval for every bond your wallet holds, now and later, and nothing narrower, the contract accepts no other kind. The card gives way to the listing form once the chain confirms the approval, and it does not show again unless you revoke the approval.
Name your ask
Section titled “Name your ask”Before you list, the card reads Ask Price over No ask. Type your ask in ETH, or step it with the arrows in moves of 0.0005 ETH. The ask has to be above zero and has no ceiling, an ask at or above the bond’s maturity value is allowed and pays no fee. A wrong entry shows “Enter a valid ETH amount.” or “Amount must be greater than zero.” under the field. The line under it says who pays what, “You receive the ask in ETH. The buyer pays the marketplace fee on top.” The List Bond button stays off until you have typed an ask and the app has read your nonces from the chain.
Press List Bond. Your wallet asks for a signature, not a transaction, so nothing costs gas, and the button reads Confirm in wallet while it asks. From the moment you sign it reads Syncing…. The toast “Bond listed” appears once the listing is stored. The button keeps reading Syncing… until the bond’s page shows your listing, usually within a few seconds. Then the form turns into your listing’s card. If that takes too long, the card says “Transaction confirmed but server sync timed out. Please refresh.”
What you signed is seven fields, your own address, the bond, your ask, the bond’s remaining maturity value, an expiration, and the two nonces the app read from the chain. The expiration is the bond’s maturity, not a choice of yours, so a listing lives exactly as long as the bond has left to run.
If the listing is refused
Section titled “If the listing is refused”Your listing is checked before it is stored, and a refusal shows as a red line under the button. “You already have a listing at this price or lower. Cancel it on-chain first to place a higher one.” means your current listing stands at or below the price you just signed. Lower your ask to replace it in one signature, or cancel first to raise it. “Approve the marketplace for your bonds first.” means the approval is missing. “You no longer hold this bond.” means the bond moved. “The bond’s value changed since you opened this form. Close it and open it again.” means the remaining maturity value moved under the form. “Your listing nonce is out of date. Refresh the page and sign again.” means a cancel or a fill landed since the page loaded. A signature you decline in your wallet shows no red line. The button reads Rejected in wallet for a moment and is ready again. A contract wallet that turns down its own signature reads “Your wallet’s code rejects this signature, so the marketplace could not accept your listing.”
While it is listed
Section titled “While it is listed”Your listing’s card reads Ask Price, the ask, and “Expires at maturity, …” with the date. Browse and your portfolio show the ask in the Ask column, and the bond stays in your portfolio, because listing moved nothing. Browse lists no bond of a Coffer whose mark is red, so buyers do not find such a listing there. It stays live, and your portfolio still shows it. The bond’s history gains the line Listed. There is one listing per bond, and lowering the ask replaces it in one signature with no transaction and no gas, because the buyer would rather fill the lower one. The listing is shown only while you hold the bond, and a fill needs you to hold it, so a bond you transfer away cannot be sold through it.
Change your ask
Section titled “Change your ask”Your listing’s card has a pencil in its corner, Update listing, which turns the card over to a form headed Your Ask with the current ask and the ask field prefilled. A lower ask needs no cancel. Update Listing asks for one signature at the same nonce and the new listing replaces the current one, the toast reads “Listing updated”, and the card turns back on its own once the new ask shows. The earlier higher signature that stays on chain is one a buyer would only fill by paying more than the ask shown. An equal or higher ask is refused, and the form says so, “Your current listing is at this price or lower. Cancel it first to raise it.” with the button held. To raise the ask, cancel first with Cancel Listing below and list again.
Cancel
Section titled “Cancel”Cancel Listing is the one step that is a transaction, since only the chain can revoke a signature. Press it. The button reads Confirm in wallet while your wallet asks, Processing… while the transaction is in flight and Syncing… until the app no longer shows the listing, and the toast “Listing cancelled” appears at the receipt. The cancel moves your nonce for that bond forward, so the old signature can never be filled, and the history gains the line Listing cancelled. Signing a new listing without cancelling revokes nothing, which is why a higher ask needs the cancel first.
When it sells, and at maturity
Section titled “When it sells, and at maturity”Nothing pops up on your screen when a buyer fills your listing. The ask lands in your wallet in ETH, or in WETH if your wallet cannot take ETH within the gas the fill allows, the bond leaves your portfolio on the next refresh, and its history reads Sold. The buyer paid the fee on top of your ask, so the ask is what you get. A listing expires at the bond’s maturity. A matured bond’s page shows “This bond has matured”, the note “It is no longer traded here. Your listing is still signed and can be filled on-chain until you cancel it.”, and the cancel card, if your listing is still live.
Afterwards
Section titled “Afterwards”The Listed line stays in the bond’s history for 30 days after the listing sold, was cancelled or expired, and then goes. The lines that came from the chain, Sold and Listing cancelled, stay.