At SF Compute we have found that most AI companies are stuck between three competing priorities:
- Securing compute in advance (so capacity is available when they need it).
- Achieving the lowest possible GPU/hr price (typically requires a long term contract).
- Not paying for unused compute.
On most clouds, long-term reservations offer the best per-GPU pricing compared to on-demand
instances, but they require commitments on the order of months to years. Most companies can’t
predict their needs that far out, and very few groups need continuous access to GPUs.
Until now, these priorities have been mutually exclusive. You either lock in a great rate and accept
idle time, or you pay a premium for flexibility. Reselling changes this dynamic.
Why resell?
When you place a reservation on SF Compute, you will now be able to resell unused compute capacity
to recoup a portion of your cost.
This means you can:
- Reserve more aggressively — lock in the capacity and pricing you want without worrying about
over-committing.
- Recover cost on idle time — nights, weekends, gaps between training runs, or any period where
your GPUs would otherwise sit unused.
- Treat your reservation like a flexible asset rather than a sunk cost.
How reselling works
The basics
When you resell, you are offering an allocation of your reserved capacity on the SF Compute platform.
Once a sell order is placed it will remain in Pending until another customer purchases the
allocation.
Let’s walk through a simple case study of placing orders into a Capacity and then selling from it.
First, you place an order for 5 nodes for 14 days.
sf orders create --side buy --capacity production-inference --nodes 5 --start now --duration 14d
Then, you place a second order for 2 nodes because you expect a spike in compute usage.
sf orders create --side buy --capacity production-inference --nodes 2 --start "in 3d" --duration 5d
Some time later, you decide that for 3 days over a holiday only a couple nodes are needed, so you
sell 6 nodes.
sf orders create --side sell --capacity production-inference --nodes 6 --start "in 7d" --duration 3d --min-rate 10.00
Once the sell order fills, the sold allocation is removed from your Capacity and you receive credits
with the platform fee deducted. Your remaining allocation (in green) stays intact aside from the block that
was sold.
Check out the page on Procurements to see how you can automate selling
unused compute.
What happens to your nodes when you sell
Nodes running in a Capacity must be supported by an active allocation. If an allocation is
insufficient to support all nodes then some nodes will be terminated.
Here is a visualization of how node allocations are maintained within a Capacity.
To stay in control of which nodes survive, manually terminate the ones you don’t need before your
allocation decreases.
sf nodes terminate <NODE_ID>
Selling dynamics
Here are some things to keep in mind when reselling to make sure your compute finds a buyer on our
platform.
- Choose a price that’s likely to find a buyer — setting
min-rate below current prices makes
your order more likely to match.
- Large compute blocks are harder to sell, consider breaking them up — larger sell orders are
harder to find a buyer for. Consider selling in increments of 1 hr x 1 node.
- The compute is yours until the standing sell order fills — a sell order will exist in
Pending
until a matching buy order is found. Only once a buy order is found will the sold allocation be
removed from your Capacity.
- Partially expired sell orders can still find a buyer — even if part of a sell order has
expired, a buy order can still fill the remainder.
- Sell in advance — selling well ahead of expiration increases the odds that your sell order
finds a buyer.
Finally, it’s important to remember that you’re not guaranteed to find a buyer.
Pricing
How orders are filled
When you place a sell order, you set a min-rate — the lowest price you’re willing to accept. The
actual fill price depends on which order was placed first:
- If your sell order is already standing and a buy order comes in, the order fills at your sell
price (the lower price). The buyer benefits from your competitive pricing.
- If a buy order is already standing and your sell order comes in, the order fills at the buy
order’s price (the higher price). You benefit from the buyer’s willingness to pay more.
This means you can earn more than your min-rate. Setting a competitive min-rate increases your
chances of finding a buyer, while still allowing you to receive a higher price if a standing buy
order is already waiting.
SF Compute takes a variable platform fee to facilitate the transaction. This fee is deducted from the
credit you receive from the resell.