Every memecoin on Solana is a process.
It boots. It runs. It executes — or it crashes and idles out, bleeding wallets until there's nothing left.
FumeOS was built to read the execution state. Not the chart. Not the Discord narrative. The actual process health of the token — the signals it leaves behind as it burns through liquidity and community momentum.
Transaction velocity. Holder acquisition rate. Developer wallet discipline. Burn mechanics. Audit integrity. FumeOS reads all five dimensions and classifies the token into one of four process states: IDLE, BOOTING, RUNNING, or EXECUTED.
When a token hits EXECUTED on FumeOS, it means the process is clean. Dev hasn't dumped. Burn is active. Community wallets are distributed. Audit passed. That's a token with a real execution environment underneath the hype.
IDLE means the process stalled or crashed. Don't restart it.
The name came from the exhaust — the trailing signals a token leaves behind as it runs. FumeOS reads the fumes to determine whether the engine is still burning.
CA: coming soon
| State | Score | FumeOS Read |
|---|---|---|
| IDLE | 0–25 | "fumeos: process dead. no execution detected. avoid." |
| BOOTING | 26–50 | "fumeos: process initializing. signals forming. watch." |
| RUNNING | 51–75 | "fumeos: process active. execution confirmed. monitor closely." |
| EXECUTED | 76–100 | "fumeos: full execution. AI confirms clean process state." |
pip install fumeosfrom fumeos import run, run_batch, peak, ProcessToken
token = ProcessToken(
token_mint="FumeXyz...pump",
symbol="FUME",
wallet_tx_count_24h=800,
holder_delta_24h=120,
dev_sell_pct=1.5,
contract_age_hours=180.0,
burn_pct=25.0,
multisig_enabled=1,
audit_score=88.0,
community_wallet_count=200,
)
report = run(token)
print(report.phase) # EXECUTED
print(report.execution_score) # 87.4
print(report.fume_read) # fumeos: full execution. AI confirms clean process state.
print(report.triggered_count) # 4reports = run_batch([token1, token2, token3])
best = peak([token1, token2, token3])tx_score = min(wallet_tx_count_24h / 10, 100)
delta_score = min(max(holder_delta_24h, 0) / 3, 100)
score = tx_score * 0.6 + delta_score * 0.4
triggered = tx_count >= 200 AND holder_delta >= 20
sell_score = max(0, 100 - dev_sell_pct * 5)
multisig_score = 100 if multisig_enabled else 20
community_score = min(community_wallet_count / 2, 100)
score = sell_score * 0.5 + multisig_score * 0.3 + community_score * 0.2
triggered = dev_sell_pct <= 5% AND multisig_enabled == 1
burn_score = min(burn_pct * 2, 100)
age_score = min(contract_age_hours / 2.4, 100)
score = burn_score * 0.65 + age_score * 0.35
triggered = burn_pct >= 10% AND contract_age >= 48h
community_score = min(community_wallet_count / 1.5, 100)
age_score = min(contract_age_hours / 3.6, 100)
score = audit_score * 0.6 + community_score * 0.25 + age_score * 0.15
triggered = audit_score >= 70 AND community_wallets >= 50
- Python — core execution engine, 184 tests
- TypeScript — React dashboard, live process feed
- Docker — containerized deployment
- GitHub Actions — CI on Python 3.11 + 3.12
pytest tests/ -v
# 184 passedMIT