Pricing & Discounts

Pricing Model

SLAAAD supports multiple pricing strategies per terrain, and rewards participants who acquire multiple plots simultaneously with automatic volume discounts.

Pricing Strategies

The pricingStrategy field on a Terrain determines how the base price is computed before any discounts are applied.

FIXED

Fixed Price

Every plot costs exactly minOfferPrice. The simplest strategy — no time or volume adjustments, just a flat rate per plot.

price = terrain.minOfferPrice
TIME_SLOPE

Time-Based Slope (Billboard)

For BILLBOARD platform terrains. Price is calculated hour-by-hour using peak-hour multipliers defined in peakHourMultiplier. Each hour in the requested slot contributes basePrice × multiplier to the total.

// Sum each hour in the range
totalPrice = Σ ( minOfferPrice × peakHourMultiplier[hour] )
OPEN_OFFER

Open Offer (Auction)

Participants can submit competing offers above the minOfferPrice. When a new offer outbids the current leader, the previous bidder is automatically refunded. The highest offer at the close of the acquisition window wins.

Multi-Plot Volume Discount

Volume discounts are only available to terrain operators on the Pro or Enterprise plan (canUseDiscounts: true). Free and Starter operators always charge the full price regardless of plot count.

When a participant submits a single acquisition request covering multiple plots simultaneously, SLAAAD automatically applies a volume discount. The discount rate is controlled by the discountRate field on the Terrain — set by the operator in their terrain settings.

Discount Calculation (from src/utils/discount.ts)

// If terrain.discountRate is set, use it directly.
// Otherwise fall back to: discountRate = plotCount (capped at 100)
discountRate = terrain.discountRate ?? min(plotCount, 100)
baseTotal = basePricePerPlot × plotCount
totalAmount = floor( baseTotal × ( 100 − discountRate ) / 100 )

Example — Default Behaviour (no custom discountRate set)

Plots AcquiredDiscount RateYou pay (at 1,000 KRW/plot)
1 plot1%990 KRW
10 plots10%9,000 KRW
50 plots50%25,000 KRW
100 plots100%FREE (0 KRW)

* The default fallback behaviour uses plotCount as the discount percentage (1 plot = 1% off, 10 plots = 10% off, etc.). Operators can override this by setting a custom discountRate (0–100) in their terrain settings.

When is the discount applied?

The discount is evaluated at the time of the acquisition request (API: POST /v1/acquisition-requests). The conditions are:

  1. The terrain operator's plan must have canUseDiscounts: true (Pro / Enterprise only).
  2. The request must include more than 1 plot in the plotIds array.
  3. The discounted total is then used as the Stripe authorization hold amount.
// From src/routes/acquisition-requests.ts
if (canUseDiscount && plotCount > 1) {
totalAmount = calculateOfferTotal(plotIds, basePrice, discountRate);
} else {
totalAmount = /* sum of individual minOfferAmounts */;
}

See the full plan comparison

Volume discounts, max terrain limits, and pricing strategy availability all depend on operator plan tier.

View Pricing Plans
Last updated: April 2026