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.
| Item | Value |
|---|---|
| Chain | Robinhood Chain (Ethereum L2, chain ID 4663, gas in ETH) |
| Launch venue | Pons V2, paired with ETH. Launched from the team wallet, then handed to the sealed wallet |
| Contract | 0xf7d6bd32bbabad12d4ddc3babf6cea00d1e2212e |
| Where the agent runs | Intel TDX confidential VM on Phala Cloud (dstack) |
| Who holds the key | Nobody. It is derived inside the enclave and never leaves it. |
| Fee split | 40% pot · 30% builders · 20% buyback and burn · 10% hosting |
| Crack Day | Every 7 days. 12 guesses per carton, paid in ETH. |
| Contract address | Only 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.
Launch and handoff
$YOLK went live in two phases. Each one is a public, on-chain fact you can check.
| Phase | What happened | How to check |
|---|---|---|
| 1 · Launch | The 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 · Handoff | The 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.
| File | What it does |
|---|---|
config.ts | Every rule: fee split, wallets, season timing, prices, tiers, payout shares. Baked into the image, so it's covered by the attestation. |
tee.ts | Talks to dstack: derives the wallets and seal key, makes quotes, reads app info. |
chain.ts | Robinhood Chain connection, ETH transfers, payment and signature checks, and the guard that only lets the wallets call known contracts. |
pons.ts | Direct calls to Pons V2: launch, fee sweep and escrow claim, curve buys, burns. No third-party API. |
fees.ts | Claims creator fees, splits them, buys back and burns. |
launch.ts | Adopts the live $YOLK from Pons and watches for the handoff. Fees and Crack Day only start once Pons pays the sealed wallet. |
season.ts | Crack Day: seasons, carton intake, the crack, scoring, payouts. |
questions.ts | The 12 questions and their exact bucket cutoffs. |
truth.ts | Reads market and holder data used to score the questions. |
candle.ts | Candling: reads swap history, measures trading patterns, applies the grade rules, and unlocks Pro reports. |
server.ts | The 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.
| Key | Path | Used for |
|---|---|---|
| Main wallet | yolk/rhc/wallet/main/v1 | $YOLK's creator-fee recipient after the handoff. Claims fees, signs the fee split and buybacks. |
| Pot wallet | yolk/rhc/wallet/pot/v1 | Holds Crack Day money. Receives 40% of fees and all Golden carton payments, pays winners. |
| Seal key | yolk/carton-seal/v1 | x25519 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.
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:
| Share | Goes to | How |
|---|---|---|
| 40% | Crack Day pot | ETH transfer to the pot wallet. |
| 30% | Builders | ETH transfer to the public builders wallet. This is how the team is paid. |
| 20% | Buyback and burn | Buys $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% | Hosting | ETH 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.
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
- Your browser fetches the enclave's public seal key from
/api/season. - 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. - It computes the commitment:
sha256(ephemeralPublicKey ‖ nonce ‖ ciphertext). - 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 - For Golden cartons, your wallet first sends 0.002 ETH to the pot and the agent checks that transaction on-chain.
- 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.
| # | Question | Answers | Source |
|---|---|---|---|
| 1 | Market cap at the crack | Under $100K · $100K–1M · $1M–10M · $10M+ | DexScreener, busiest pair |
| 2 | Number of holders | Under 500 · 500–2K · 2K–10K · 10K+ | Robinhood Chain explorer (Blockscout) |
| 3 | Supply held by the top 10 wallets | Under 15% · 15–30% · 30–50% · 50%+ | Blockscout holder list, divided by total supply |
| 4 | Price vs. the start of the season | Down 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 |
| 5 | Trading volume in the last 24 hours | Under $50K · $50K–500K · $500K–5M · $5M+ | DexScreener, summed across pairs |
| 6 | Buys vs. sells in the last 24 hours | Sells ≥ 2x buys · More sells · More buys · Buys ≥ 2x sells | DexScreener transaction counts |
| 7 | Size of the Crack Day pot | Under 0.1 · 0.1–0.5 · 0.5–2 · 2+ ETH | Pot wallet balance |
| 8 | Cartons sealed this season | Under 100 · 100–1K · 1K–5K · 5K+ | Agent count |
| 9 | Words pecked this season | Under 1K · 1K–10K · 10K–50K · 50K+ | Agent count |
| 10 | Creator fees claimed this season | Under 0.2 · 0.2–1 · 1–5 · 5+ ETH | Agent's claim balance changes |
| 11 | $YOLK burned this season | Under 1M · 1M–10M · 10M–50M · 50M+ | Agent's burn transactions |
| 12 | Will anyone see the key this season? | No · Absolutely not · Not even Yolk · Never | Every 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
- The agent leaves 0.001 ETH in the pot wallet for gas.
- It pays builders 10% of the season's Golden carton revenue.
- Cartons with the highest score share 70% of what's left, equally per carton.
- Cartons with the second-highest score share 20%.
- 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.
| Tier | Hold at snapshot | Free cartons per season |
|---|---|---|
| Visitor | Any amount, or none | 1 |
| Chick | 100K $YOLK | 2 |
| Hen | 1M $YOLK | 5 |
| Golden Goose | 10M $YOLK | Unlimited |
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
- Send
POST /api/peckwith a word nobody could guess. - Check the first 32 bytes of
reportDataequalsha256(word). - 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.
- Paste the
quoteinto 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 samereport_data. - Compare the measurements and the
composeHashfrom/api/infowith the published build: the source repo, the Docker image digest, anddocker-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
| Measure | How it's calculated |
|---|---|
| Hold time | For each token the wallet both bought and sold: time from its first buy to its first sell. The median across tokens is used. |
| Never sold | Share of the tokens it bought that it hasn't sold at all. |
| Median fee | Median 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 trades | Share of trades that landed within 5 seconds of the one before. |
| Win rate | Of tokens it has sold, the share where it got back more ETH than it spent. |
| Realized profit | ETH 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.
| # | Grade | Rule |
|---|---|---|
| 1 | Fresh egg | Fewer than 3 trades found. |
| 2 | Rotten (bot) | At least 40% rapid-fire trades across 30 or more trades. |
| 3 | Golden (diamond hand) | Bought $YOLK at least twice and never sold any. |
| 4 | Runny (flipper) | Median hold under 30 minutes, and sold at least half of what it bought. |
| 5 | Hard-boiled (holder) | Never sold at least half the tokens it bought, or median hold of 3 days or more. |
| 6 | Soft-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.
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.
| Plan | Price | Includes |
|---|---|---|
| Egg | 0.1 ETH + 5% of creator fees | Sealed creator wallet, peck-a-word widget, hard-coded split |
| Coop | 0.25 ETH + 5% of creator fees | Egg, plus a branded Crack Day, candling, 90 days of hosting |
| Farm | Custom | Multiple 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.
| Endpoint | Returns |
|---|---|
GET/api/health | { ok, build } |
GET/api/info | Wallet addresses, balances, fee split, mint, recent splits, total burned, TEE info (appId, composeHash, mrtd, rtmr3) |
POST/api/peck | Body { word } (1–48 chars). Returns quote, reportData, wordHash, walletBinding, wallets. Limited to 10 per minute per IP. |
GET/api/season | Seal public key, the 12 questions, Golden price, current season (phase, times, counts, commitments), last cracked season summary |
GET/api/season/:n | One season, plus full results after its crack |
GET/api/nest/:wallet | Tier, 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/carton | Lay a carton. Returns a receipt { id, season, commitment, position, crackAt }. |
GET/api/hatchery | How 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/apply | Body { 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/:wallet | Free 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/pro | Body { 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.