SethVault
Chain: Sepolia · Source: contracts/contracts/SethVault.sol
The vault is the Sepolia side of the market. Sellers deposit SETH into it (each deposit becomes a FIFO queue order), it holds an owner-funded house reserve separately, and it delivers sold SETH to buyers.
Deposits (the queue-producing path)
receive() external payable;Accepts a seller deposit. Requirements: msg.value > 0,
msg.value >= minDepositSethRaw, and the sender is an EOA (msg.sender == tx.origin, no contract code). Emits:
event SethReceived(address indexed from, uint256 amount, uint256 acceptedTotal);SethReceived is the only event that creates a seller queue order.
Reserve
function fundReserve() external payable onlyOwner; // emits ReserveFundedOwner-only house-reserve top-up. Emits ReserveFunded (not SethReceived) so
reserve liquidity never becomes a seller queue order.
Seller settings (event-only)
function setPayoutAddress(address payoutAddr) external; // PayoutAddressChanged
function setSellerTierOverrides(address[] sellers, uint8 tierIndex) external; // onlyOwner
function clearSellerTierOverrides(address[] sellers) external; // onlyOwnersetPayoutAddress— a seller declares where their Base payouts go. Not stored on-chain; the indexer applies the latestPayoutAddressChangedevent by(block, logIndex). Defaults to the seller’s own address if never set.setSellerTierOverrides/clearSellerTierOverrides— owner sets/clears a starting tier for specific sellers (tierIndex <= 7), event-only viaSellerTierOverrideChanged.
Delivery & administration (owner)
function sendSeth(address payable to, uint256 amount) external onlyOwner; // SethSent
function withdraw(address payable to, uint256 amount) external onlyOwner; // SethWithdrawn
function setMinDepositSethRaw(uint256 v) external onlyOwner; // MinDepositChanged
function changeOwner(address newOwner) external onlyOwner; // OwnerChangedsendSethdelivers sold SETH to a buyer (driven by the delivery worker).withdrawsweeps vault inventory to the owner.
Views
owner() · version() (returns 1) · minDepositSethRaw() ·
acceptedSethRaw() (lifetime deposited) · sentSethRaw() (lifetime delivered) ·
reserveFundedSethRaw() (lifetime reserve funding).
Initialization
function initialize(address owner_, uint256 minDepositSethRaw_) external;Events
SethReceived · ReserveFunded · PayoutAddressChanged ·
SellerTierOverrideChanged · SethSent · SethWithdrawn · MinDepositChanged ·
OwnerChanged.