Pool Party

BASEMENT x ryley-o.eth

01 — overview

what is pool party?

pool party is a fully on-chain generative art project released on Art Blocks. each mint triggers a chain of smart contract interactions that purchase a randomly-selected ERC-20 token, then tracks its price over time through 12 automated check-ins. these real-world price movements directly influence the artwork's visual output — making every piece a living, evolving composition.

fully on-chain

100%

all script data and project configuration stored on-chain

supported tokens

13

popular ERC-20 tokens randomly assigned at mint

price check-ins

12

automated Chainlink updates per token lifetime

MEV protection

Chainlink oracle price feeds guard against sandwich attacks

02 — how it works

the life of a pool party token

every token goes through three distinct phases, from mint to maturity.

phase 1

mint

collector chooses a price: the collector decides how much ETH to spend. a random ERC-20 token is selected based on the token's hash. 80% of the payment is immediately swapped into that token via Uniswap V3.

funds are distributed: 10% goes to Art Blocks, 10% to the artists, and the remaining 80% purchases an ERC-20 token — all in a single atomic transaction.

phase 2

living art

12 automated check-ins: Chainlink Automation triggers price check-ins over the token's lifetime. each check-in records the current price, injected as a PostParam value that directly shapes the artwork's output.

the art responds to markets: as prices rise and fall in the real world, each artwork evolves. no two tokens will ever look the same because no two price histories are the same.

phase 3

withdrawal

claim your tokens: after all 12 check-ins are complete, the token owner can toggle the isWithdrawn PostParam to withdraw the ERC-20 tokens purchased at mint to their wallet.

03 — mint flow

what happens when you mint

a single transaction triggers an orchestrated sequence of smart contract interactions.

collector sends ETH

Art Blocks sliding scale minter

10% → Art Blocks

10% → artists

80% → ERC-20 purchase

StratHooks.sol — PostParam hook

GuardedEthTokenSwapper — Chainlink oracle validates fair price

Uniswap V3 atomic swap → ERC-20 tokens held

revenue distribution

10%
10%
80%
Art BlocksartistsERC-20 token purchase

04 — token pool

13 supported ERC-20 tokens

one of these tokens is randomly selected at mint based on the token's hash. each uses a verified Chainlink TOKEN/ETH price feed and an optimal Uniswap V3 fee tier.

WBTC

LINK

UNI

AAVE

1INCH

COMP

CRV

LDO

MKR

APE

ZRX

USDT

SHIB

all tokens use 5% oracle validation tolerance. WBTC uses the ETH/BTC Chainlink feed for optimal precision.

05 — living artwork

price check-ins & visual evolution

each token is assigned a random interval between its 12 price check-ins. Chainlink Automation nodes monitor the contract and execute check-ins automatically.

⛓ Chainlink Automation

off-chain nodes call checkUpkeep() to determine when a price check-in is needed. when triggered, performUpkeep() executes on-chain with idempotency guarantees via round tracking.

⏹ PostParam augmentation

when the artwork is read (displayed), onTokenPMPReadAugmentation injects all recorded price check-ins as parameters. the generative script uses these to shape its visual output.

⑆ unique histories

because each token has a different ERC-20, a different mint time, and different check-in intervals, no two price histories — and therefore no two artworks — will ever be the same.

06 — withdrawal

claiming your tokens

once all 12 price check-ins are complete, the artistic journey concludes and the collector can reclaim the underlying ERC-20 tokens.

✓ all 12 check-ins complete

token owner sets isWithdrawn = true via PostParam configure

StratHooks contract transfers ERC-20 tokens

✰ owner's wallet — tokens received

07 — technical deep dive

architecture & smart contracts

pool party's on-chain architecture orchestrates multiple smart contracts, oracles, and DEX protocols into a single cohesive system.

system architecture

ART BLOCKS ECOSYSTEM

Art Blocks

core contract

sliding scale

minter

studio contract

(on-chain scripts)

PostParam hook

StratHooks.sol (UUPS proxy)

• onTokenPMPConfigure — mint logic

• onTokenPMPReadAugmentation

• checkUpkeep / performUpkeep

• token metadata & price history

• withdrawal logic

GuardedEthToken Swapper.sol

• ETH → ERC20 swap

• MEV protection

• Uniswap V3

Chainlink oracles

• TOKEN/ETH feeds

• price validation

• 24hr staleness

Chainlink automation

• checkUpkeep

• performUpkeep

• round tracking

⛓ fully on-chain

pool party is configured on the BASEMENT Art Blocks Studio contract. all script information — the generative code that produces each artwork — is stored fully on-chain, ensuring permanence and decentralization.

⛨ MEV protection

the GuardedEthTokenSwapper uses Chainlink oracle price feeds to validate that Uniswap swaps execute at fair market prices. this eliminates sandwich attacks without requiring special function input arguments.

⚄ idempotent automation

Chainlink Automation uses a round-based system with per-token tracking. each upkeep encodes (tokenId, round) for guaranteed idempotency, preventing duplicate or stale executions.

08 — references

contracts & links

09 — contact us

get in touch