Signal Anatomy
A signal in Juno is a structured representation of on-chain behavior.
Signals are generated when wallet activity matches a known rule set deployer behavior, early liquidity, volume clustering, etc. These are not alerts. They are logged objects stored in memory and used across the UI and AI layer.
Format
Each signal is a flat object:
{
type: "deployer-active",
confidence: 0.83,
timestamp: "2025-07-21T18:24:03Z",
token: "5gk3...Xa7L"
}
type
— describes the detected behaviorconfidence
— decimal between 0 and 1timestamp
— ISO-8601 UTC stringtoken
— optional, if tied to a specific asset
Additional metadata may be attached depending on the signal class, but only these four are required.
Signal Generation
Signal creation is deterministic. No ML, no scoring models. Each rule is triggered by hard conditions.
Example:
if (
tx.deployerActivity > 2 &&
tx.timeSinceMint < 10 &&
tx.token.isMintable
) {
return generateSignal("deployer-active", 0.83)
}
Once created, signals are filtered and de-duped. Confidence below 0.5 is dropped by default unless a filter override is set.
Usage
Signals power:
The visual feed (
WalletSignalFeed
)Prompt memory for the assistant
Token-level summary confidence
Dev debugging via
DevPanel
They are not shown unless relevant. No spam. No repeats. Just behavior, stored cleanly.
Last updated