CueLTC — value flow
Ancestral Gaming Ecosystem

Catch the motive, not the method.

Shot analysis detects a technique, and a technique can be changed. Nobody can collude without moving value in one direction, repeatedly — that is not a tell, it is the definition. This runs against the double-entry ledger you already keep, needs no shot logs, and works from the first frame played.

And one signal a custodial platform cannot have. Your payouts land at addresses you derived, on a public chain. If two accounts’ payout outputs are later spent as inputs to the same transaction, they were signed by the same party. Common-input-ownership is the oldest tool in chain analysis and non-custody is precisely what makes it available to you. It is the difference between a statistical shape and evidence.

Who pays whom

An adjacency matrix rather than a node graph, because a farm has a shape you can see: a bright column. Rows lose, columns win, intensity is LTC.

The ranking

Net flow alone flags every good player. What separates a farm is where the money comes from, whether anything ever goes back, and whether the feeders do anything else at all.

The chain check

Run over the payout addresses you already derived, against transactions already public. No cooperation from anyone required.

What it sees, and what it does not

CaseSignalVerdict
Farm hubLarge net in, few sources, feeders play nobody else, nothing flows backcaught
Genuinely strong playerLarge net in, but from thirty partners, and they lose toonot flagged
Balanced ring of threeNo net movement at all — flow is blind to it. Zero reciprocity still showspartly
Two accounts, one signerPayout outputs spent in one transactioncaught on chain
One honest user, two addressesConsolidates their own outputs onlynot a link
Single large dump, never repeatedOne frame, no patternonly if on chain

The query

Against the litoshi ledger in the Durable Object. This is a weekend, not a project, and it runs before you have a single shot log stored.

-- net flow and concentration per account pair, over a rolling window
SELECT loser  AS src,
       winner AS dst,
       COUNT(*)                        AS frames,
       SUM(stake) * (1 - :rake)        AS moved,
       MIN(settled_at), MAX(settled_at)
FROM   frames
WHERE  settled_at > :since
GROUP  BY loser, winner;

-- then, per account: net, inHHI, reciprocity, feederFocus
-- all of it derivable from that one grouped result, in memory.
-- Payout addresses you already have from m/84'/2'/0'/0/i.

Litecoin-specific, and it will matter. MWEB peg-ins hide the amount and the address entirely. An account that settles into MWEB is invisible to the chain check, and a colluder who reads one paragraph of documentation will do exactly that. Treat the chain signal as a bonus that catches the careless, never as the backbone. The ledger-side analysis has to stand on its own.

You are about to do chain analysis on your own users, and you market non-custody. Those two things are in tension and the tension is real. Clustering a user’s addresses is not a privacy violation you can do quietly and describe as non-custodial later. Put it in the terms in plain words before anyone deposits: which addresses you observe, why, how long you keep the linkage, and what a flag does. Disclosed, it is diligence. Undisclosed and later discovered, it is the story that ends the platform.

Flag, hold, review. Same rule as before, and it bites harder here because the chain signal feels like proof. It is a heuristic: coinjoin breaks it on purpose, an exchange’s hot wallet will co-spend thousands of unrelated outputs, and a shared family device is not a crime. A high score means a human looks, and nothing else happens automatically.

Build notes

ReciprocityPer counterparty, the smaller flow over the larger. A rivalry tends toward one; a farm sits at zero. It is the single most useful column here
Feeder focusOf everything a feeder ever lost, how much went to this one account. Near one means the feeder exists only to lose to the hub
ConcentrationHerfindahl over the sources of an account’s winnings. A strong player scores near zero because they beat everyone
FusionFlow carries 0.55, chain linkage 0.45. Deliberately, a chain link alone tops out below the action band — shared signer is not the same as collusion
Where it runsBatch, off the settlement path. It must never be able to delay a frame finishing
ThresholdsFitted against simulated populations. Re-fit on real traffic before they gate anything