With the help of paulfc, I think we were able to get to 3 up arrows!
EDIT: The original analysis was slightly wrong (2 ↑↑↑ n instead of 2 ↑↑↑ 2n). I also forgot to add a way to score.
The core kingdom cards we need are:
Black Market (BM), Haggler (H), Scrying Pool (SP), Squire (S), Golem (G), Count.
We also need a single Trader from the Black Market deck, and Trader
cannot be a Kingdom pile.
We also need enough +Actions (Page ->Champion is fine). We also need (just one) Royal Seal for topdecking.
We also need a source of buying Golems at the end of our turn. I'll use Changeling for that.
Finally, we need some source of points, since Haggler and Changeling are not very good at getting points. Obelisk on any pile, say BM, works.
The Black Market deck will contain only Fairgrounds, Trader, Royal Seal. To set up our deck, we buy the Trader and Royal Seal, and also obtain and play Champion.
At the beginning of our turn, our deck will have 1 Trader, 1 Royal Seal, X BMs, X Hs, X SPs, and X Gs. (We don't need exactly the same number of each, just within some constant factor is good enough.) We may also have some number of Counts but don't particularly care how many. We can guarantee that 2 Scrying Pools will be in our starting hand, letting us draw all the actions in our deck.
The sequence of our turn will basically be a nested loop.
The basic step of first loop is to play all the Hagglers in our hand, then all the Black Markets in our hand. (The first time we do this loop, we also play the Royal Seal with Black Market.) With each Black Market, we buy the Fairgrounds, but use Trader to gain a Silver instead of instead of the Fairgrounds. If we have A Hagglers out, then each time we buy Fairgrounds, we gain A cards costing less than 6. We can topdeck all actions gained this way, but none of the Silvers. After playing all the Hagglers and Black Markets in our hand, we play a Scrying Pool to get all the actions gained this way (and a single Silver).
If we started with 2A BMs and 2A Hs, doing one step of this loop gains us (2A)^2=4A^2 cards. We can choose this to be 2A^2 BMs and 2A^2 Hs. We can repeat the loop by playing all the Hs then all the BMs again. Even ignoring the Hagglers played in previous steps, one step of this loop changes A to A^2 (i.e. A -> A^2 -> A^4 -> A^8 -> ... ), so with B SPs, we can end up with 4*A^(2^B) actions in our hand costing less than 6.
We will repeat this loop for every SP in our hand, except leaving one extra in our hand. On the last step of the loop, we will gain some constant fraction each of BM, H, Squire. We will also divert some of these gains to be Count, and we need one Count per Golem in our hand, plus 3 extra Counts. This number will always be way way smaller than the number of cards we can gain (at least X^(2^X) cards we can gain, and at most X Golems in our hand), so we can basically ignore the number in our analysis.
With all the actions in our hand, we can play the BMs and Hs to gain some amount of BMs and Hs on the top of our deck. Then, we play Count for topdeck and money to topdeck all of our Golems except for one. With our remaining 4 Counts, we use 3 of them for topdeck and money, topdecking Trader, SP, and our last Count. Now our hand is a bunch of Squires and one Golem. The top of our deck is Count, SP, Trader, the rest of our Golems, and a bunch of BMs and Hs, then some Silvers. We can now use Golem, which will hit Count and SP. We pick Count then SP as our order. With Count, we pick topdeck and trash, topdecking a Squire, then trashing our hand full of Squires. With each Squire, we gain a SP and topdeck it. Then, our Golem plays the SP, letting us draw all the actions we have left (a bunch of SPs, the Trader, the Golems, a bunch of BMs and Hs (and 1 Squire that we don't really care about)).
Doing this is a single step of our second loop. We perform the first loop for all the SPs in our hand, then expend one Golem to gain a bunch more SPs. If we end the steps of the first loop with C BMs+Hs and D Ss, we will have O(C^2) BMs, O(C^2) Hs, and O(D) SPs after all these operations. If we started with A each of BM, H, SP, we will have 4*A^(2^A) actions to allocate between C and D. We can allocate a square root amount to C and the rest to D and end up with D = O(A^(2^A)), which is at least 2^(2^A). So, one step of this loop turns A into 2^(2^A).
Now, we can repeat this second loop for every Golem we started with. Since we started with X BM, H, SP, and got to repeat this loop X times, we went from A to 2^(2^A) X times, starting at X, which is (2↑↑(2X))^X > 8 * 2↑↑(2X). Letting Y = 2↑↑(2X), we can let this be 4Y SPs in hand and 4Y changelings on the top of our deck, and play all the SPs, drawing the 4Y changelings. Then, in our Night phase, we use the Changelings to gain Y each of BM, H, SP, G, topdecking them (putting the scrying pools on top for next turn).
Since every turn changes X from 2↑↑(2X), this kingdom has growth rate
f(n) > 2↑↑↑(2n-c) for some constant c f(n) > 2↑↑↑n. The actual amount is bigger than c↑↑↑n for any constant c, but I'm not sure how to express it. At the very least, we can correctly remove the -c from n and still have a correct lower bound, so there's that.
This kingdom is not an infinite kingdom because:
- Golems cannot be gained midturn, and there is only one Trader.
- The only draw that can be gained midturn is Scrying Pool, and no cards are gained to hand.
- To gain Scrying Pools midturn that can still be played on the same turn, a Golem or Trader must be used.
In summary:
- Kingdom: Black Market, Haggler, Scrying Pool, Squire, Golem, Count, Changeling, Page. Sideways cards: Obelisk on BM.
(BM deck: Fairgrounds, Trader, Royal Seal).
- Growth rate: f(n) = 2↑↑↑n
- No Renaissance cards needed!