{"ok":true,"product":"wetdrool","canonicalOrigin":"https://wetdrool.com","checkedAt":"2026-09-20T16:44:03.329Z","level":"preview","revenueReady":false,"earningClaimed":false,"network":"solana:devnet","checks":{"rpcConfigured":true,"marketplaceListings":0,"marketplaceStore":"memory-ephemeral","marketplaceGate":"ephemeral","roomsStore":"memory-ephemeral","roomsDurableAcrossRestart":false,"droolMint":"does-not-exist","founderMediaPath":null},"storeKinds":{"marketplace":"memory-ephemeral","rooms":"memory-ephemeral","multiReplicaSafe":false,"authStatusPath":"/api/v1/auth/status","note":"Market=memory · ephemeral · replica-unsafe; rooms=memory · ephemeral · not multi-replica. Neither store is multi-replica safe; revenueReady remains false."},"blockers":[{"id":"market_store_ephemeral","severity":"critical","message":"Marketplace listings live in process memory. Multi-instance/cold-start loses listings and receipts — not production commerce. Set WETDROOL_MARKETPLACE_DATA_PATH (+ GATE_SECRET) for single-node durability."},{"id":"market_gate_ephemeral","severity":"major","message":"Unlock gate key is process-ephemeral. Set WETDROOL_MARKETPLACE_GATE_SECRET (≥16 chars) so paid unlocks survive restarts."},{"id":"domain_unverified_here","severity":"major","message":"This process cannot prove wetdrool.com DNS is attached. Confirm public HTTPS + /api/v1/status on the canonical host."},{"id":"not_mainnet","severity":"major","message":"Payment network is solana:devnet. Real customer revenue expects solana:mainnet with operator payTo risk accepted."},{"id":"no_auto_earnings","severity":"minor","message":"No automated revenue ledger. Do not display fake MRR. Count only verified SOL unlock receipts once durable multi-replica store exists."}],"nextActions":["Deploy apps/web to Vercel with monorepo install/build (docs/ops/DEPLOY_WEB.md)","Attach wetdrool.com DNS to that project","Set WETDROOL_SOLANA_RPC_URL for payment verification","For local durability: WETDROOL_MARKETPLACE_DATA_PATH + WETDROOL_MARKETPLACE_GATE_SECRET","Replace file store with multi-replica backend before selling at scale","Create first paid listing with operator payTo and verify a real unlock"],"service":"@wetdrool/web","surfaces":["health","status","auth/status","shorts","live","creators","creators/:handle","fame","token","market","market/:id","rooms","rooms/:roomId/messages","e2ee","mesh","policy/age","notifications","search","events","companions","photos","stories","vanity","ai/chat"],"surfaceCatalog":[{"id":"health","path":"/api/v1/health","methods":["GET"]},{"id":"status","path":"/api/v1/status","methods":["GET"]},{"id":"auth/status","path":"/api/v1/auth/status","methods":["GET"]},{"id":"shorts","path":"/api/v1/shorts","methods":["GET"]},{"id":"live","path":"/api/v1/live","methods":["GET"]},{"id":"creators","path":"/api/v1/creators","methods":["GET"]},{"id":"creators/:handle","path":"/api/v1/creators/:handle","methods":["GET"]},{"id":"fame","path":"/api/v1/fame","methods":["GET"]},{"id":"token","path":"/api/v1/token","methods":["GET"]},{"id":"market","path":"/api/v1/market","methods":["GET","POST"]},{"id":"market/:id","path":"/api/v1/market/:id","methods":["GET","POST"]},{"id":"rooms","path":"/api/v1/rooms","methods":["GET"]},{"id":"rooms/:roomId/messages","path":"/api/v1/rooms/:roomId/messages","methods":["GET","POST"]},{"id":"e2ee","path":"/api/v1/e2ee","methods":["GET"]},{"id":"mesh","path":"/api/v1/mesh","methods":["GET"]},{"id":"policy/age","path":"/api/v1/policy/age","methods":["GET"]},{"id":"notifications","path":"/api/v1/notifications","methods":["GET"]},{"id":"search","path":"/api/v1/search","methods":["GET"]},{"id":"events","path":"/api/v1/events","methods":["GET"]},{"id":"companions","path":"/api/v1/companions","methods":["GET"]},{"id":"photos","path":"/api/v1/photos","methods":["GET"]},{"id":"stories","path":"/api/v1/stories","methods":["GET"]},{"id":"vanity","path":"/api/v1/vanity","methods":["GET"]},{"id":"ai/chat","path":"/api/v1/ai/chat","methods":["POST"]}],"links":{"health":"/api/v1/health","authStatus":"/api/v1/auth/status","readiness":"/api/v1/status","mesh":"/api/v1/mesh","search":"/api/v1/search","notifications":"/api/v1/notifications","events":"/api/v1/events","companions":"/api/v1/companions","photos":"/api/v1/photos","stories":"/api/v1/stories","e2ee":"/api/v1/e2ee","creatorsDirectory":"/api/v1/creators","agePolicy":"/api/v1/policy/age","token":"/api/v1/token","vanity":"/api/v1/vanity"},"discovery":{"shorts":{"catalogMode":"local-synthetic","syntheticFixturesOnly":true,"ranking":"local-droolrank-lite","note":"Shorts API ranks in-repo synthetic fixtures only — not an external media catalog."},"live":{"catalogMode":"local-synthetic","syntheticFixturesOnly":true,"note":"Live rooms API serves synthetic fixtures only — not a live mesh directory."},"creators":{"catalogMode":"local-synthetic","syntheticFixturesOnly":true,"note":"Creator directory is synthetic catalog placeholders until signed portable profiles ship."},"feedService":{"configured":false,"origin":null,"personalizationActive":false,"note":"Feed-service URL unset — personalization is empty, not faked from local ranking."}},"stores":{"marketplace":{"kind":"memory-ephemeral","gate":"ephemeral","durableAcrossRestart":false,"multiReplicaSafe":false,"listings":0},"rooms":{"kind":"memory-ephemeral","durableAcrossRestart":false,"multiReplicaSafe":false,"maxMessagesPerRoom":200}},"auth":{"configured":true,"loopback":true,"source":"default-localhost","origin":"http://localhost:4300","probePath":"/api/v1/auth/status","protocolIdentityEstablished":false},"honest":{"droolMint":"does-not-exist","droolMintInvented":false,"earningClaimed":false,"pointsAreNotToken":true,"solIsNotDrool":true,"droolTickerForbidden":true,"revenueReady":false,"founderMediaPath":null,"feedPersonalizationActive":false,"shortsCatalogExternal":false}}