Skip to main content
The Shopify Module includes three script variants optimized for different use cases. Each variant implements the checkout flow differently, with tradeoffs between speed, reliability, and features.

Overview

Preload.js

Full FeaturedTest product preloading for maximum speed on drops

fast.js

Speed OptimizedMinimal delays and optimized for fast checkout

safe_1.js

ConservativeStandard checkout flow with better reliability

Script Comparison

Location: Preload.js:42-1337Key Features:
  • Test Product Preloading (lines 104-240): Generates checkout session with dummy product before real drop
  • Dual Product Support: Separate urltest and url fields for test and real products
  • Cart Switching: Removes test product and adds real product while maintaining session (lines 722-731)
  • Full Queue Support: Complete queue handling for both GraphQL and legacy polling methods
  • Account Login: Automatic login with challenge captcha handling
  • Checkpoint Handling: Solves checkpoint captchas automatically
Configuration:
let item = {
  url: "https://kith.com/products/real-product",
  urltest: "https://kith.com/products/test-product",  // Preload product
  keywords: "+jordan +1",
  keywordstest: "+tee",  // Test product keywords
  randomSizetest: true,
  sizetest: "10",
  // ... other config
}
Workflow:
1

Preload Phase

Find and add test product to cart (lines 104-240)
setRunningStatus('Searching For Test Product...');
// Fetch test product via urltest or keywordstest
setRunningStatus('Preloading Cart...');
// Add test product to cart
2

Generate Checkout

Create checkout session and extract tokens (lines 258-306)
setRunningStatus('Generating Checkout Link...');
let urlReq = await request.post({
  url: "https://" + item.website + "/cart/checkout",
  form: {
    "updates[]": 1,
    "attributes[checkout_clicked]": true,
    checkout: ""
  }
});
3

Handle Queue/Login

Process queue, account login, or checkpoint if required (lines 308-719)
4

Remove Test Product

Clear cart while maintaining session (lines 722-731)
let removecart = await request.post({
  url: `${domain}/cart/change.js?line=1&quantity=0`
});
setRunningStatus('Removed Item From Cart...');
5

Add Real Product

Search for and add target product (lines 737-898)
setRunningStatus('Searching For Product...');
// Find real product via url or keywords
setRunningStatus('Adding to Cart Real Product...');
6

Complete Checkout

Submit address, shipping, payment, and poll for completion (lines 1045-1318)
When to Use:
  • High-demand product releases where every millisecond counts
  • Sites with slow checkout page loading
  • When you have a reliable test product available
  • Drops with queue systems
Advantages:
  • Fastest possible checkout speed (session already initialized)
  • Bypasses initial checkout page load time
  • Session tokens pre-generated before real product drops
Disadvantages:
  • More complex configuration (test product required)
  • Slightly higher risk if session expires
  • Two-phase monitoring (test + real product)

Feature Matrix

FeaturePreload.jsfast.jssafe_1.js
Preload Support✅ Yes❌ No❌ No
Product MonitoringTest + RealReal onlyReal only
Retry Delay1000ms500ms1000ms
Shipping Polling500ms250ms500ms
API EndpointWallets APIWallets APILegacy Cart API
Content Typeform-dataJSONform-urlencoded
Queue HandlingFull supportFull supportFull support
Account Login✅ Yes✅ Yes✅ Yes
Captcha Solving✅ Yes✅ Yes✅ Yes
Best ForHyped dropsFast checkoutReliability
ComplexityHighMediumLow
SpeedFastestFastSlowest
StabilityMediumMediumHighest

Choosing the Right Script

Use: Preload.jsWhen:
  • Product sells out in seconds
  • Every millisecond matters
  • You have a reliable test product
  • Queue systems are common
Example: Limited sneaker releases, Supreme drops
Use: fast.jsWhen:
  • Product has moderate demand
  • You want speed without complexity
  • No test product available
  • Standard checkout is sufficient
Example: General sneaker releases, clothing drops
Use: safe_1.jsWhen:
  • Setting up new configurations
  • Debugging checkout issues
  • Site has strict rate limiting
  • Reliability over speed
Example: Configuration testing, general availability items

Performance Comparison

0ms     - Start monitoring test product
100ms   - Test product found
500ms   - Added to cart
1200ms  - Checkout session generated
1800ms  - Queue/login handled
2100ms  - Test product removed
[WAITING FOR REAL PRODUCT DROP]
2500ms  - Real product detected
2800ms  - Added to cart (session reused)
3500ms  - Checkout complete

Total: ~1000ms from product drop to checkout
These timelines are approximate and vary based on:
  • Network latency
  • Proxy speed
  • Server response times
  • Queue wait times
  • Captcha requirements

Script Modifications

All three scripts share the same configuration object structure. You can switch between scripts without changing your configuration.

Running Different Scripts

# Preload variant (fastest)
node Preload.js

# Fast variant (balanced)
node fast.js

# Safe variant (most reliable)
node safe_1.js

Next Steps

Configuration Guide

Complete reference for all configuration options

Advanced Features

Queue handling, captcha solving, and keyword filtering

Build docs developers (and LLMs) love