how it works

How the choir sings a chart

The choir never improvises. The same candles at the same tempo always give the same performance, lyrics included. Nothing is pre-recorded: every voice is synthesized in your browser with the Web Audio API.

1. The candles

Paste a Solana contract address and the page asks GeckoTerminal's public API for the token's most active pool, then up to 96 OHLCV candles (open, high, low, close, volume) priced in USD. That covers pump.fun bonding-curve coins and graduated PumpSwap, Raydium and Meteora pools. If a young coin has fewer than 12 candles on the chosen timeframe, it switches to 1-minute candles.

The request goes straight from your browser to GeckoTerminal. There is no Candle Choir server in the middle, no analytics and no wallet connection.

2. The tempo

Solana targets one slot every 400 milliseconds. 60 ÷ 0.4 = 150 beats per minute, so that's the choir's default: one candle per beat. You can slide it anywhere from 80 to 240 BPM.

3. The mapping

CandleWhat the choir does
Each candleOne beat. 96 candles at 150 BPM is about 38 seconds.
Close pricePicks the root note: closes sit on a log scale between the window's lowest low and highest high, mapped over two octaves of scale degrees from D3.
GreenA three-voice chord from D major on "ah". Wick takes the lead.
RedA three-voice chord from D natural minor on "oh". Dip takes the lead.
Body sizeLoudness. The biggest body in the window is full volume, a doji is about a third.
Upper wick > 40%A soprano descant an octave above the chord, on "oo".
Lower wick > 40%A bass voice an octave below the root.
+15% or more"Send it": the root doubles an octave up, an airhorn fires, and the board shakes with confetti and laser-eyes Wick.
−15% or more"Rugged": every voice slides down three semitones, a siren sweeps, and the board flashes red while Dip panics.
VolumeThe congregation: band-limited noise under the choir, scaled to the candle's share of the window's highest volume.

Wicks smaller than 0.4% of the open are ignored so quiet candles don't trigger extra voices.

4. The lyrics

Each candle sings one syllable. Green runs work through "we're so back", "up only", "number go up", "hold the note", "we are so back" and "giga send mode"; red runs work through "it's o-ver", "I'm so cooked", "paper hands", "why did I buy", "dev pls wake up" and "never selling". A new phrase starts every three candles and whenever the colour flips. A +15% candle sings "SEND IT!!!", a −15% candle sings "RUGGED", long upper wicks add "(aaaAAAH)" and long lower wicks add "(bought the dip)".

4½. Unhinged mode

The switch on the hymn board pitches the whole choir up five semitones, runs it through a soft-clipping distortion, widens and speeds up the vibrato, more than doubles the crowd, makes the siren and airhorn louder, adds a constant camera shake, and turns the page pink. Share links remember it with &u=1.

5. The voice

Every sung note is two slightly detuned sawtooth oscillators, two singers on one part, filtered through three band-pass formants for the vowel. Vibrato fades in over the first quarter second. A low organ drone on D and A sits under everything, and the whole choir runs through a synthesized 2.6-second hall reverb and a soft compressor.

6. Recording

Record clip draws a 1080 × 1080 version of the hymn board while the choir sings and records it, with the audio, using the browser's MediaRecorder. Chrome, Edge and Safari save MP4 (H.264 and AAC), which X, Telegram and TikTok accept. Firefox saves WebM. WAV renders the audio offline at 44.1 kHz stereo, faster than real time. Every loaded token also gets a link like candlechoir.fun/?ca=ADDRESS&tf=5m.

7. Limits

8. The chart you scroll

The first act of the home page is Wick's own chart, scripted candle by candle: the launch, the dev selling, the dead chart, the single green candle at 3:33 AM, the held note and the choir. Scrolling moves the camera along it and prints each candle as you reach it. Turn the sound on and every candle that crosses the playhead is sung by the same choir engine, so scrolling faster sings faster.

9. Ordination certificates

Act IV draws a certificate for any X handle in your browser. The handle picks a member number and a voice part (soprano of the send, bass of bought dips, paper hands, and so on) from a simple hash, so the same handle always gets the same certificate. Nothing is uploaded.

About $CHOIR

$CHOIR is the choir's own coin, launching on pump.fun. The tool is free for every token whether you hold or not. $CHOIR is a memecoin with no intrinsic value and no expectation of financial return. Nothing here is financial advice.

🎶 Sing a chart