CREATE TABLE kuknos_settlements ( id uuid PRIMARY KEY, source_service text NOT NULL CHECK (source_service <> ''), source_transaction_id text NOT NULL CHECK (source_transaction_id <> ''), idempotency_key text NOT NULL UNIQUE CHECK (idempotency_key <> ''), status text NOT NULL CHECK (status IN ('PENDING','SUBMITTED','CONFIRMED','RETRYABLE','MANUAL_REVIEW')), network text NOT NULL DEFAULT 'kuknos', signed_transaction_xdr text NOT NULL DEFAULT '', transaction_hash text NOT NULL DEFAULT '', attempts integer NOT NULL DEFAULT 0 CHECK (attempts >= 0), available_at timestamptz NOT NULL DEFAULT clock_timestamp(), locked_at timestamptz, locked_by text NOT NULL DEFAULT '', last_error text NOT NULL DEFAULT '', submitted_at timestamptz, confirmed_at timestamptz, manual_review_at timestamptz, created_at timestamptz NOT NULL DEFAULT clock_timestamp(), updated_at timestamptz NOT NULL DEFAULT clock_timestamp() ); CREATE INDEX kuknos_settlements_due_idx ON kuknos_settlements (status, available_at);