@buzzr/dfs-engine
    Preparing search index...

    Type Alias CreateDfsBetInput

    Input shape for createDfsBet. The caller provides the multiplier as shown on the slip (post-boost); the service computes potential_payout = stake × multiplier × any further multipliers. profit_boost_pct is captured separately so the payout split can be computed at settlement.

    type CreateDfsBetInput = {
        app: DfsApp;
        baseMultiplier?: number | null;
        initialActualPayout?: number | null;
        initialSettledAt?: string | null;
        initialStatus?: DfsInitialBetStatus;
        legs: DfsBetLeg[];
        multiplier: number;
        parsedImageHash?: string | null;
        placedAt?: string;
        playType: DfsPlayType;
        profitBoostPct?: number | null;
        settlementSource?: DfsSettlementSource | null;
        source: "screenshot" | "manual";
        stakeAmount: number;
        userId: string;
        visibility?: "private" | "friends" | "public";
    }
    Index

    Properties

    app: DfsApp
    baseMultiplier?: number | null

    Standard pre-boost multiplier from the app reference table. NULL if unknown.

    initialActualPayout?: number | null
    initialSettledAt?: string | null
    initialStatus?: DfsInitialBetStatus

    Optional reviewed initial settlement, mainly for final-state screenshots.

    legs: DfsBetLeg[]
    multiplier: number

    Total multiplier as displayed on the slip (post-boost).

    parsedImageHash?: string | null

    Storage path of the uploaded slip image when source='screenshot'.

    placedAt?: string
    playType: DfsPlayType
    profitBoostPct?: number | null
    settlementSource?: DfsSettlementSource | null
    source: "screenshot" | "manual"

    Source = 'screenshot' for vision-pipeline imports, 'manual' for typed entry.

    stakeAmount: number
    userId: string
    visibility?: "private" | "friends" | "public"