Skip to main content
POST
Seller Financing is in beta and runs on Ethereum Sepolia instances only for now (DEVELOPMENT instances on Ethereum). A PRODUCTION instance, or one on another network, answers 503 SELLER_FINANCING_UNAVAILABLE. See Seller Financing.
Builds the delivery of the asset on a REPAID listing, signed by the seller or by a wallet that holds OPERATOR_ROLE on the market. The asset goes to the buyer’s own wallet, the wallet that bought the listing, and the listing reads COMPLETED. In the same transaction the market credits the held payment, the downpayment plus the principal, to the seller, who withdraws it with Withdraw. The delivery exists on markets that run delivery against payment, the second market implementation. See Market generations. On a first-generation market the answer is 409 MARKET_UPGRADE_REQUIRED, and the buyer takes the asset with Claim Asset. The buyer can always claim the asset itself, also to another wallet the token admits; the delivery lets the seller complete a sale without waiting for the buyer. Before building, the API checks, in order:
  1. The market runs delivery against payment and has recounted its live sales. Otherwise the answer is 409 MARKET_UPGRADE_REQUIRED or 409 MIGRATION_PENDING.
  2. The listing is REPAID.
  3. The asset can be delivered, read from the market’s own isDeliverable(id) and encumbrance(seller). While it cannot, the answer is 409 ASSET_NOT_DELIVERABLE with details.assetLeg and details.heldPayment. See Asset leg.
  4. The buyer is verified on the asset token’s own identity register, when the token names one. A buyer the register answers as not verified is refused with 409 RECIPIENT_NOT_VERIFIED. The buyer can then claim to a verified wallet of its own with Claim Asset.
  5. In custody mode, the token admits the transfer from the custody adapter to the buyer. A refusal answers 409 RECIPIENT_REFUSED with the token’s reason.
The delivery is then simulated from from. A wallet that is neither the seller nor an operator answers 409 TX_WOULD_REVERT with NotSeller, naming the seller and the wallets that hold OPERATOR_ROLE. A delivery stays open while the market is paused.

Path Parameters

string
required
The market’s record ID, as id on List Markets.
string
required
The listing’s ID on the market.

Body Parameters

string
required
The wallet that signs: the seller of the listing or a wallet that holds OPERATOR_ROLE on the market. Without it the answer is 400 FROM_REQUIRED.

Response Fields

object

Error Codes