-- 018: Trade settlements (clearing-service) CREATE TABLE IF NOT EXISTS settlements ( id UUID PRIMARY KEY DEFAULT gen_random_uuid(), trade_id UUID NOT NULL REFERENCES trades(id), buyer_id UUID NOT NULL REFERENCES users(id), seller_id UUID NOT NULL REFERENCES users(id), amount NUMERIC(12,2) NOT NULL, buyer_fee NUMERIC(12,4) NOT NULL DEFAULT 0, seller_fee NUMERIC(12,4) NOT NULL DEFAULT 0, status VARCHAR(20) NOT NULL DEFAULT 'pending' CHECK (status IN ('pending', 'completed', 'failed', 'reversed')), tx_hash VARCHAR(66), completed_at TIMESTAMPTZ, created_at TIMESTAMPTZ NOT NULL DEFAULT NOW() ); CREATE INDEX idx_settlements_trade_id ON settlements(trade_id); CREATE INDEX idx_settlements_status ON settlements(status);