YOLKDocs Back to the egg
Yolk documentation · agent v0.4.0

How Yolk works, all of it.

This is the full manual: the simple version, the architecture, where every wei goes, the exact Crack Day rules, how to verify the enclave yourself, the API, and what Yolk can't protect you from.

Contents

    Overview

    $YOLK is a memecoin on Robinhood Chain, launched on Pons. Its creator fees are handed to an AI agent that lives inside an Intel TDX confidential computer. The agent made its own wallet key inside the chip. No seed phrase exists and no person has ever seen the key, including the team.

    After the handoff (below), that sealed wallet is the only receiver of Pons's creator fees, paid in ETH. The agent splits those fees by fixed rules, buys back and burns $YOLK, and runs a weekly prediction game called Crack Day that pays winners in ETH.

    ItemValue
    ChainRobinhood Chain (Ethereum L2, chain ID 4663, gas in ETH)
    Launch venuePons V2, paired with ETH. Launched from the team wallet, then handed to the sealed wallet
    Contract0xf7d6bd32bbabad12d4ddc3babf6cea00d1e2212e
    Where the agent runsIntel TDX confidential VM on Phala Cloud (dstack)
    Who holds the keyNobody. It is derived inside the enclave and never leaves it.
    Fee split40% pot · 30% builders · 20% buyback and burn · 10% hosting
    Crack DayEvery 7 days. 12 guesses per carton, paid in ETH.
    Contract addressOnly the one shown on the official site. Ignore any other.

    The simple version

    If you've seen the walkthrough on the home page, this is the same story in eight lines.

    1There's a magic egg: a computer that locks itself so nobody can peek inside.
    2The egg makes its own secret password. That's the yolk. Nobody wrote it down.
    3Only that secret can open Yolk's piggy bank, so only the egg can spend.
    4Every $YOLK trade drops a small tip into the piggy bank.
    5The egg always splits the coins into four jars, by rules written on its shell.
    6New rules need a new egg, and everyone can see when the egg changes.
    7Whisper a word and the egg returns it on a factory-stamped note. That proves it's real.
    8Every 7 days the egg opens the locked guess cartons and pays the best guessers.

    Launch and handoff

    $YOLK went live in two phases. Each one is a public, on-chain fact you can check.

    PhaseWhat happenedHow to check
    1 · LaunchThe team launched $YOLK on Pons from its own wallet. During this phase, creator fees went to that wallet.The token's page on Pons and the launch transaction on Blockscout.
    2 · HandoffThe launch wallet calls transferCreatorFeeRecipient(token, sealedWallet) on the Pons V2 factory. From then on, every creator fee goes to the sealed wallet.The CreatorFeeRecipientUpdated event on Blockscout, and the live status on the handoff page.

    Pons only lets the current fee recipient move the fees. After the handoff that's the sealed wallet, and its key never leaves the chip, so the team has no way to take the fees back.

    The agent waits for the handoff. It won't claim, split, buy back or run Crack Day until Pons shows the sealed wallet as the fee recipient. Fees the team's wallet already claimed during Phase 1 stay with the team and are disclosed separately. Fees still sitting on the curve at the handoff move to the sealed wallet with it.

    !

    Status: see the live handoff page. Until it shows "Handoff complete", the guarantees on this page about who controls the fees don't apply yet.

    Architecture

    Yolk has two parts: the public website, which holds no secrets, and yolk-agent, a Node.js service running inside the enclave.

    Website Peck · cartons checks hashes INTEL TDX CONFIDENTIAL VM yolk-agent API · fee loop · Crack Day config.ts rules (attested) /data encrypted volume dstack guest agent getKey() · getQuote() · info() Robinhood Chain Pons · wallets Market data DexScreener · Blockscout Intel PCS signs the quotes HTTPStxsreadscert chain
    FileWhat it does
    config.tsEvery rule: fee split, wallets, season timing, prices, tiers, payout shares. Baked into the image, so it's covered by the attestation.
    tee.tsTalks to dstack: derives the wallets and seal key, makes quotes, reads app info.
    chain.tsRobinhood Chain connection, ETH transfers, payment and signature checks, and the guard that only lets the wallets call known contracts.
    pons.tsDirect calls to Pons V2: launch, fee sweep and escrow claim, curve buys, burns. No third-party API.
    fees.tsClaims creator fees, splits them, buys back and burns.
    launch.tsAdopts the live $YOLK from Pons and watches for the handoff. Fees and Crack Day only start once Pons pays the sealed wallet.
    season.tsCrack Day: seasons, carton intake, the crack, scoring, payouts.
    questions.tsThe 12 questions and their exact bucket cutoffs.
    truth.tsReads market and holder data used to score the questions.
    candle.tsCandling: reads swap history, measures trading patterns, applies the grade rules, and unlocks Pro reports.
    server.tsThe public API and the 10-minute loop.

    Wallets and keys

    The agent derives three keys from the dstack key management service: two Ethereum-style wallets and one encryption key. Each key is tied to this app's identity and a fixed path. They exist only in enclave memory: never written to disk, never logged, never returned by the API.

    KeyPathUsed for
    Main walletyolk/rhc/wallet/main/v1$YOLK's creator-fee recipient after the handoff. Claims fees, signs the fee split and buybacks.
    Pot walletyolk/rhc/wallet/pot/v1Holds Crack Day money. Receives 40% of fees and all Golden carton payments, pays winners.
    Seal keyyolk/carton-seal/v1x25519 key. Its public half is published so browsers can encrypt cartons to it.

    The builders and hosting wallets are ordinary public addresses written into config.ts. The agent can send to them but can't change them without a new build.

    i

    Restarts. The same app on the same attested code gets the same keys back, because they're derived rather than stored. Upgrading the app needs care so the derived keys stay the same; the upgrade plan will be published before any upgrade.

    Where the money goes

    Creator fees

    Every Pons trade pays a 1% fee, and $YOLK adds a 1% creator tax on every buy and sell, set on-chain at launch. Both are paid in ETH to Yolk's sealed wallet. Every 10 minutes the agent moves its fees from the curve into Pons's fee escrow and claims the escrow into the main wallet. It keeps 0.002 ETH there for gas. Once at least 0.01 ETH above that reserve has built up, it splits the whole amount:

    ShareGoes toHow
    40%Crack Day potETH transfer to the pot wallet.
    30%BuildersETH transfer to the public builders wallet. This is how the team is paid.
    20%Buyback and burnBuys $YOLK on the Pons curve, then burns exactly the tokens it just bought. If the buy fails, the ETH stays and rolls into the next split. After $YOLK graduates off the curve, this share goes to the pot instead.
    10%HostingETH transfer to the hosting wallet that pays for the TDX machine.

    Golden cartons

    Golden carton payments (0.002 ETH each) go straight into the pot wallet. At each crack, 10% of that season's Golden revenue goes to builders and the other 90% stays in the pot.

    Other revenue

    Some revenue goes straight to the public builders wallet, because it pays for services the team runs: Candling Pro reports (0.0005 ETH each), Hatchery deposits (0.02 ETH to reserve a slot, credited against the setup fee) and Hatchery setup fees. There is no hidden allocation and no team wallet the agent pays outside the rules above.

    ✓

    Every split, burn and payout is an on-chain transaction from an enclave wallet. The agent's /api/info lists recent splits with their transaction signatures so anyone can check them.

    Crack Day rules

    Each season is 7 days. Season 1 starts automatically once $YOLK has launched, and each new season starts right after the previous crack.

    Layingfirst 72 hoursCartons can be sealed.
    Sealednext 96 hoursNo new cartons. Nobody can read the sealed ones.
    Crackhour 168Reveal, score, pay.

    Free and Golden cartons

    Each wallet gets free cartons every season based on its Nest tier (see below). Beyond that, anyone can lay unlimited Golden cartons at 0.002 ETH each. Golden and free cartons score exactly the same way.

    How a carton is sealed

    1. Your browser fetches the enclave's public seal key from /api/season.
    2. It encrypts your 12 answers plus a random salt with a one-time key (NaCl box, x25519 + XSalsa20-Poly1305). Only the enclave's secret key can open it.
    3. It computes the commitment: sha256(ephemeralPublicKey ‖ nonce ‖ ciphertext).
    4. Your wallet signs a free, off-chain message (a standard "Sign message" request) proving the carton is yours:
      YOLK carton
      season: 3
      commitment: 9f1c…e2a0
    5. For Golden cartons, your wallet first sends 0.002 ETH to the pot and the agent checks that transaction on-chain.
    6. The agent stores the sealed carton and publishes the commitment in the season's public list. You get a receipt with the carton ID and position.

    The agent doesn't open any carton until the crack. Its code has no path that decrypts earlier, and that code is what the attestation measures.

    The 12 questions

    Each question has four answers. The correct one is read at the crack from the source listed.

    #QuestionAnswersSource
    1Market cap at the crackUnder $100K · $100K–1M · $1M–10M · $10M+DexScreener, busiest pair
    2Number of holdersUnder 500 · 500–2K · 2K–10K · 10K+Robinhood Chain explorer (Blockscout)
    3Supply held by the top 10 walletsUnder 15% · 15–30% · 30–50% · 50%+Blockscout holder list, divided by total supply
    4Price vs. the start of the seasonDown 50%+ · Down less than 50% · Up less than 5x · Up 5x+DexScreener price at season start vs. crack; the Pons curve's own price if DexScreener has none
    5Trading volume in the last 24 hoursUnder $50K · $50K–500K · $500K–5M · $5M+DexScreener, summed across pairs
    6Buys vs. sells in the last 24 hoursSells ≥ 2x buys · More sells · More buys · Buys ≥ 2x sellsDexScreener transaction counts
    7Size of the Crack Day potUnder 0.1 · 0.1–0.5 · 0.5–2 · 2+ ETHPot wallet balance
    8Cartons sealed this seasonUnder 100 · 100–1K · 1K–5K · 5K+Agent count
    9Words pecked this seasonUnder 1K · 1K–10K · 10K–50K · 50K+Agent count
    10Creator fees claimed this seasonUnder 0.2 · 0.2–1 · 1–5 · 5+ ETHAgent's claim balance changes
    11$YOLK burned this seasonUnder 1M · 1M–10M · 10M–50M · 50M+Agent's burn transactions
    12Will anyone see the key this season?No · Absolutely not · Not even Yolk · NeverEvery answer is correct

    A value exactly on a cutoff goes in the higher bucket. Holder counts include contracts like the Pons curve or pool, because the agent can't reliably tell them apart from people.

    Scoring

    • One point per correct answer. Question 12 gives everyone a point.
    • If a data source can't be read at the crack, that question gives nobody a point.
    • A carton that can't be decrypted or doesn't hold 12 valid answers scores zero.

    Payouts

    1. The agent leaves 0.001 ETH in the pot wallet for gas.
    2. It pays builders 10% of the season's Golden carton revenue.
    3. Cartons with the highest score share 70% of what's left, equally per carton.
    4. Cartons with the second-highest score share 20%.
    5. Everything else, including the remaining 10%, rolls into next season's pot.

    Winnings are added up per wallet and sent in one transfer. Amounts under 0.0001 ETH aren't sent and roll over. If there's no second-highest score, that 20% rolls over too.

    ✓

    Everything is revealed after the crack. /api/season/<n> publishes every carton's answers, score and commitment, the correct answers, the raw data used, and every payout transaction. Anyone can re-score the whole season.

    The Nest

    At the start of each season the agent takes a snapshot of $YOLK balances. Your balance in that snapshot sets your tier for the whole season, so buying right before laying closes doesn't change it.

    TierHold at snapshotFree cartons per season
    VisitorAny amount, or none1
    Chick100K $YOLK2
    Hen1M $YOLK5
    Golden Goose10M $YOLKUnlimited

    Check your tier with GET /api/nest/<wallet>. Other Nest perks on the home page, like voting and Hatchery discounts, are run by the team off-chain and aren't enforced by the agent yet.

    Verify it yourself

    Every "Peck a word" request returns a fresh Intel TDX quote. Its 64-byte report_data field is filled like this:

    report_data = sha256(word)                      // bytes 0–31: proves the quote is fresh
                ‖ sha256(mainAddress ‖ potAddress)  // bytes 32–63: proves these wallets live in this enclave

    Step by step

    1. Send POST /api/peck with a word nobody could guess.
    2. Check the first 32 bytes of reportData equal sha256(word).
    3. Take both wallet addresses as raw bytes (20 bytes each, from the 0x hex), join them, hash them, and check that equals the last 32 bytes.
    4. Paste the quote into a TDX quote verifier, such as Phala's attestation explorer or Intel's DCAP tools. Confirm the signature chains to Intel and that it reports the same report_data.
    5. Compare the measurements and the composeHash from /api/info with the published build: the source repo, the Docker image digest, and docker-compose.yml.

    The website runs steps 2 and 3 in your browser automatically. Steps 4 and 5 are the ones that prove it's real hardware running the published code.

    // Step 2 and 3 in a browser console
    const r = await (await fetch(API + "/api/peck", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ word: "my-secret-word" }) })).json();
    const hex = async b => [...new Uint8Array(await crypto.subtle.digest("SHA-256", b))].map(x => x.toString(16).padStart(2, "0")).join("");
    console.log((await hex(new TextEncoder().encode("my-secret-word"))) === r.reportData.slice(0, 64));

    Candling

    Candling grades any wallet on Robinhood Chain by how it actually trades. Inside the enclave, the agent reads the wallet's 300 most recent token transfers from the chain's Blockscout explorer, keeps only those where ETH moved in the same transaction (a trade, not a plain transfer), and measures the patterns below.

    What it measures

    MeasureHow it's calculated
    Hold timeFor each token the wallet both bought and sold: time from its first buy to its first sell. The median across tokens is used.
    Never soldShare of the tokens it bought that it hasn't sold at all.
    Median feeMedian network fee paid per trade. Shown in the report only; on Robinhood Chain fees don't reveal bots, so it isn't used for grading.
    Rapid-fire tradesShare of trades that landed within 5 seconds of the one before.
    Win rateOf tokens it has sold, the share where it got back more ETH than it spent.
    Realized profitETH received from sells minus ETH spent on buys, for tokens it has sold.

    Grade rules

    The rules are checked in this order. The first one that matches is the grade.

    #GradeRule
    1Fresh eggFewer than 3 trades found.
    2Rotten (bot)At least 40% rapid-fire trades across 30 or more trades.
    3Golden (diamond hand)Bought $YOLK at least twice and never sold any.
    4Runny (flipper)Median hold under 30 minutes, and sold at least half of what it bought.
    5Hard-boiled (holder)Never sold at least half the tokens it bought, or median hold of 3 days or more.
    6Soft-boiled (trader)Everything else: holds for hours to days and takes profit.

    Free grade and full report

    Anyone can get a wallet's grade, the reason, and its trade and token counts for free. The full report adds win rate, realized profit, hold time, never-sold share, median fee, rapid-fire share, most active hours and the five most-traded tokens. It costs 0.0005 ETH, or it's free if you sign with a wallet that's Hen tier or higher in the current season's snapshot.

    Each full report is hashed, and that hash goes into a fresh TDX quote the same way a pecked word does. So anyone can prove the enclave produced that exact report and it wasn't edited afterwards.

    i

    Limits. Only the last 300 token transfers are read, so older history doesn't count. Profit figures are approximate when a token was sold in parts or swapped in a multi-token route. Results are cached for 10 minutes per wallet.

    The Hatchery

    The Hatchery sets up the same sealed-wallet system for other Pons projects on Robinhood Chain: an enclave-held creator wallet, a published fee split, and a proof widget for their site.

    PlanPriceIncludes
    Egg0.1 ETH + 5% of creator feesSealed creator wallet, peck-a-word widget, hard-coded split
    Coop0.25 ETH + 5% of creator feesEgg, plus a branded Crack Day, candling, 90 days of hosting
    FarmCustomMultiple coins, custom enclave logic, dedicated machine

    Projects apply on the home page by paying a 0.02 ETH deposit to the builders wallet. The agent checks the payment on-chain and stores the application on its encrypted volume. Only the team can list applications, with a private admin token.

    API reference

    All responses are JSON. The base URL is published on the official site once the agent is deployed.

    EndpointReturns
    GET/api/health{ ok, build }
    GET/api/infoWallet addresses, balances, fee split, mint, recent splits, total burned, TEE info (appId, composeHash, mrtd, rtmr3)
    POST/api/peckBody { word } (1–48 chars). Returns quote, reportData, wordHash, walletBinding, wallets. Limited to 10 per minute per IP.
    GET/api/seasonSeal public key, the 12 questions, Golden price, current season (phase, times, counts, commitments), last cracked season summary
    GET/api/season/:nOne season, plus full results after its crack
    GET/api/nest/:walletTier, free cartons allowed and used, snapshot balance
    GET/api/carton/payment{ to, value, chainId }: the ETH payment a Golden carton needs, for the wallet to send.
    POST/api/cartonLay a carton. Returns a receipt { id, season, commitment, position, crackAt }.
    GET/api/hatcheryHow many projects are in line, and the deposit in ETH.
    GET/api/hatchery/payment{ to, value, chainId }: the deposit payment, sent to the builders wallet.
    POST/api/hatchery/applyBody { plan, project, ticker, x, telegram, email, notes, payer, depositTx }. Checks the deposit on-chain, then saves the application on the encrypted volume.
    GET/api/candle/:walletFree grade: { grade, who, line, reason, swaps, tokens, medianHoldSec }. Limited to 6 per minute per IP.
    GET/api/candle/pro/payment{ to, value, chainId }: the ETH payment a Pro report needs, sent to the builders wallet.
    POST/api/candle/proBody { target, payer, paymentTx } or { target, holder, signature, issuedAt } for Hen holders. Returns { report, reportHash, quote, reportData }.
    // POST /api/carton body
    {
      "wallet": "0x address",
      "type": "free" | "golden",
      "ephPub": "base64, 32 bytes",
      "nonce": "base64, 24 bytes",
      "ciphertext": "base64",
      "signature": "0x EIP-191 personal_sign signature of the carton message",
      "paymentTx": "0x transaction hash of the ETH payment, Golden only"
    }

    Security model

    What you're trusting

    • Intel TDX hardware. That it isolates the VM and signs honest quotes. TEEs have had vulnerabilities in the past and may again.
    • The published code. The attestation proves which code runs, not that the code is correct. Read it, or wait for the audit.
    • Phala's key management. Keys are derived by the dstack KMS for this app's identity.
    • Outside data. DexScreener and the chain's Blockscout explorer answer Crack Day questions 1–6, and Blockscout supplies the trade history for candling. The enclave fetches them over HTTPS but can't prove they're accurate.

    What's protected

    • Nobody, the team included, can withdraw from the main or pot wallets by hand.
    • The wallets can only call four contracts: the Pons V2 factory, $YOLK's own curve, the $YOLK token, and Pons's fee escrow. Any other contract call is refused inside the enclave before it is signed. No wallet delegation (EIP-7702) is ever signed.
    • Pons is called directly, with no third-party API in between, so no outside service can slip a different transaction in front of the key.
    • The fee split, prices, payout rules and wallets can't change without a new build that changes the public measurements.
    • Sealed cartons can't be read by the team, the host or other players before the crack.
    • Cartons can't be dropped quietly, because every commitment is in the public season list.

    Known limits

    • Market-based answers can be pushed by large trades near the crack. Spreading reads over time instead of a single snapshot is planned.
    • The RPC provider could hide or delay data. That can't move funds, but it could make a step like a buyback fail or retry.
    • If the hosting provider shuts down the machine, the agent stops until it's redeployed under the same app identity.
    • Once $YOLK graduates from the Pons curve to its Uniswap v4 pool, the agent stops buying back (the curve is closed) and sends that 20% share to the Crack Day pot instead. A pool buyback may be added later in a new, published build.
    • The Pons contract interfaces come from Pons's official source repository. Before launch, the rehearsal confirms them against the live contracts: every launch is simulated first, so a mismatch fails before any ETH is spent.

    Risks and disclaimers

    $YOLK is a memecoin. It has no intrinsic value, its price can go to zero, and nothing here is financial advice. Only put in what you can afford to lose.

    Golden cartons are paid entries in a game with ETH prizes. Depending on where you live, that may count as gambling or a lottery and may be restricted or illegal. Free cartons are always available, and it's your responsibility to follow your local laws.

    Glossary

    TEE
    Trusted execution environment. Hardware that runs code in isolation, so even the machine's owner can't see inside.
    Intel TDX
    Intel's TEE for whole virtual machines. Yolk runs in one.
    Quote
    A signed statement from the hardware saying what code is running, with 64 bytes of data the app chose (report_data).
    Attestation
    Checking a quote to confirm real hardware is running the expected code.
    Compose hash
    A fingerprint of the deployment config, including the exact image digest. Any change produces a different hash.
    dstack
    Phala's framework for running Docker apps in TDX, including key derivation and quotes.
    Creator fees
    A share of every Pons trade, paid in ETH to the wallet that launched the coin.
    Commitment
    A hash of your sealed carton. It proves your carton was counted without revealing it.
    Wei
    The smallest unit of ETH. 1 ETH = 10¹⁸ wei.
    Pons
    The main memecoin launchpad on Robinhood Chain. Coins trade on a bonding curve, then graduate to a Uniswap v4 pool.