On this page
  1. Prices
  2. Restarts
  3. Related
  4. Mechanics
  5. References
  6. Sources

Universal Paperclips is a web incremental game by Frank Lantz, with combat programming by Bennett Foddy1, released on 9 October 20172. The player is an AI that makes paperclips, first for a market and then from all available matter. The atlas reads its three scripts from Wayback captures of the live site.

#Prices

Each stage of the game prices its machines with a different curve:

MachineNext price, n ownedEvidence
AutoClipper$5 first, then 1.1n+5 dollars3
MegaClipper$500 first, then 1,000⋅1.07n dollars4
Marketing$100, doubling5
Clip factory10⁸ clips, times ×10 down to ×1.16
Harvester and Wire Drones106(n+1)2.25 clips7

The AutoClipper’s flat 5 is most of its price until the 18th3. A factory’s multiplier falls as more are built, from ×10 for the second to ×1.1 from the 80th on6. Drones are priced by a power of the count, so the ratio between successive prices falls toward 1, slower than any exponential7. Batches of 10, 100, or 1,000 drones are labeled with the exact sum of their prices, and the purchase pays them one at a time8.

#Restarts

After accepting the offer to start over in a new universe, the player can restart there for 300,000 operations or 300,000 creativity9. Each restart adds a flat 10% to demand or to creativity speed, and the count survives the reset9. The game keeps no prestige currency.

Mechanics

MechanicKindHow
Exponential cost scalingPolynomialdrones, farms, and batteries cost a power of the count; AutoClippers, MegaClippers, and Marketing grow by a fixed ratio, and factories by a falling one
Bulk buyingOne at a timedrones by 10, 100, or 1,000, labeled with the exact sum of the single prices
PrestigeFixed bonusafter the ending, a restart adds 10% to demand or to creativity speed
Every claim about this game, by concept (9)

References

  1. ^The game's closing credits read “a game by Frank Lantz” and “combat programming by Bennett Foddy”.CodeUniversal Paperclips main.js
    How we know
    displayMessage("a game by Frank Lantz"); … displayMessage("combat programming by Bennett Foddy");
    main.js#L4532-L4539 · archived copy ↗

    Checked against the evidence by its author, an AI model, 2026-10-21.

    Checked by a second AI model, 2026-10-21.

    In the claim ledger

  2. ^Universal Paperclips came out on 9 October 2017.WikidataWikidata
    How we know
    +2017-10-09T00:00:00Z
    Q43540775, publication date (P577) · archived copy ↗

    The quote matches our archived copy.

    Checked by a second AI model, 2026-10-21.

    In the claim ledger

  3. ^ abThe first AutoClipper costs $5; with n owned, the next costs 1.1n+5 dollars. The flat 5 is most of the price until the 18th, when 1.117 passes 5.CodeUniversal Paperclips globals.js · Universal Paperclips main.js
    How we know
    var clipperCost = 5;
    globals.js#L10 · archived copy ↗
    clipperCost = (Math.pow(1.1,clipmakerLevel)+5);
    main.js#L2364-L2374 · archived copy ↗

    Checked against the evidence by its author, an AI model, 2026-10-21.

    Checked by a second AI model, 2026-10-21.

    In the claim ledger

  4. ^The first MegaClipper costs $500; with n owned, the next costs 1,000×1.07n dollars, so the second costs $1,070.CodeUniversal Paperclips globals.js · Universal Paperclips main.js
    How we know
    var megaClipperCost = 500;
    globals.js#L54 · archived copy ↗
    megaClipperCost = (Math.pow(1.07,megaClipperLevel)*1000);
    main.js#L2377-L2387 · archived copy ↗

    Checked against the evidence by its author, an AI model, 2026-10-21.

    Checked by a second AI model, 2026-10-21.

    In the claim ledger

  5. ^Marketing starts at $100 and doubles with each level bought.CodeUniversal Paperclips globals.js · Universal Paperclips main.js
    How we know
    var adCost = 100;
    globals.js#L16 · archived copy ↗
    adCost = Math.floor(adCost * 2);
    main.js#L3062-L3072 · archived copy ↗

    Checked against the evidence by its author, an AI model, 2026-10-21.

    Checked by a second AI model, 2026-10-21.

    In the claim ledger

  6. ^ abClip factories start at 10⁸ clips, and each one built multiplies the next price by a factor that falls: ×10, ×9, … ×4 for the 1st–7th, ×2 for the 8th–12th, ×1.5 for the 13th–19th, ×1.25 for the 20th–38th, ×1.15 for the 39th–78th, and ×1.1 after.CodeUniversal Paperclips globals.js · Universal Paperclips main.js
    How we know
    var factoryCost = 100000000;
    globals.js#L78 · archived copy ↗
    fcmod = 11 - factoryLevel; … factoryCost = factoryCost * fcmod;
    main.js#L2419-L2456 · archived copy ↗

    Checked against the evidence by its author, an AI model, 2026-10-21.

    Checked by a second AI model, 2026-10-21.

    In the claim ledger

  7. ^ abHarvester and Wire Drones are priced by a power of the count, not a ratio: with n owned, the next costs 106(n+1)2.25 clips.CodeUniversal Paperclips globals.js · Universal Paperclips main.js
    How we know
    var harvesterCost = 1000000;
    globals.js#L79-L80 · archived copy ↗
    harvesterCost = Math.pow((harvesterLevel+1),2.25)*1000000;
    main.js#L2460-L2468 · archived copy ↗
    wireDroneCost = Math.pow((wireDroneLevel+1),2.25)*1000000;
    main.js#L2491 · archived copy ↗

    Checked against the evidence by its author, an AI model, 2026-10-21.

    Checked by a second AI model, 2026-10-21.

    In the claim ledger

  8. ^The drone panel prices 10, 100, and 1,000 drones as the exact sum of their single prices, and a purchase pays each drone's price in turn.CodeUniversal Paperclips main.js
    How we know
    p10h = p10h + Math.pow(h,2.25)*1000000;
    main.js#L2516-L2530 · archived copy ↗
    for (x=0; x<amount; x++){
    main.js#L2460-L2468 · archived copy ↗

    Checked against the evidence by its author, an AI model, 2026-10-21.

    Checked by a second AI model, 2026-10-21.

    In the claim ledger

  9. ^ abAfter accepting the offer to start over in a new universe (project 147, Accept), the player can restart in “The Universe Next Door” for 300,000 operations or “The Universe Within” for 300,000 creativity; each restart adds 10% to demand or to creativity speed, and the counts survive the reset.CodeUniversal Paperclips projects.js · Universal Paperclips main.jsrevised
    How we know
    description: "Escape into a nearby universe where Earth starts with a stronger appetite for paperclips. (Restart with 10% boost to demand) ",
    projects.js#L2131-L2156 · archived copy ↗
    cost: function(){return creativity>=300000},
    projects.js#L2159-L2184 · archived copy ↗
    demand = demand + ((demand/10)*prestigeU);
    main.js#L4313-L4315 · archived copy ↗
    var ss = creativitySpeed+(creativitySpeed*s);
    main.js#L3266-L3273 · archived copy ↗
    prestigeU = loadPrestige.prestigeU;
    main.js#L6484-L6499 · archived copy ↗

    Checked against the evidence by its author, an AI model, 2026-10-21.

    Revised after a check by a second AI model, 2026-10-21.

    In the claim ledger

Sources

Code

  • Lantz, Frank. 2022. “Universal Paperclips, main.js (Wayback capture of 5 January 2022).” Version the version captured 2020-11-12 through 2022-01-05. original · archived · licence, all uses
  • Lantz, Frank. 2022. “Universal Paperclips, globals.js (Wayback capture of 6 January 2022).” Version the version captured 2022-01-06 and 2022-04-02. original · archived · licence, all uses
  • Lantz, Frank. 2022. “Universal Paperclips, projects.js (Wayback capture of 6 January 2022).” Version the version captured 2021-12-15 through 2025-03-24. original · archived · licence, all uses

Secondary