Releases: trynipcode/hikara
v0.3.0 — rebrand to hikara
rebrand: hakiri to hikara
this is a rename. the project was published as hakiri for two days
(v0.1.0 ethereum, v0.2.0 solana pivot). it ships from v0.3.0 onward as
hikara. brand, name, package, cli command, env-var prefix, banner,
domain — all changed. nothing else.
if you installed v0.2.0: uninstall and reinstall under the new name.
changed
- python package: hakiri to hikara. import path is from hikara import ...
- cli command: hakiri to hikara
- pyproject name + console script entrypoint
- rust crate: hakiri-ingest to hikara-ingest
- env-var prefix: HAKIRI_ to HIKARA_
- banner asset: assets/bannerhakiri.jpg to assets/bannerhikara.jpg
- repo description and topics
- domain: hakiri.xyz to hikara.xyz
kept
- github repo path: github.com/hakiriagent/hikara (account login unchanged, slug renamed)
- maintainer handles: hakiri (lead), 0xnova, mikrohash, luka
- license, philosophy, heuristic ids (SAND-01, BACK-01), confidence cap (0.95)
removed
- nothing functional. the rename is brand-only. all detection logic, decoders,
scoring, and ingest stubs from v0.2.0 carry forward identically.
links
- site: https://hikara.xyz/
- x: https://x.com/HakiriAgent (until @HikaraAgent is registered)
- changelog: https://github.com/hakiriagent/hikara/blob/main/CHANGELOG.md
v0.2.0 — chain pivot to solana
scope change
this is a chain pivot. the v0.1.x line was an ethereum mev forensics agent.
v0.2.0 moves the entire detector to solana. brand, domain, contributor zones
unchanged — chain and dex stack changed.
if you starred for ethereum-side mev: that work lives at the v0.1.1 tag and
the codebase before this commit. fork it under MIT, no need to ask.
what shipped
- raydium amm v4 inner-instruction swap decoder
- orca whirlpool inner-instruction swap decoder
- known solana program-id table (raydium clmm, meteora dlmm/amm, lifinity v2, jupiter v4/v6, pump.fun, jito tip)
- jito tip detector with the eight canonical tip accounts
- validator (leader) attribution table
- solana mev searcher label table (placeholder seeds)
- ingest stubs for yellowstone-grpc geyser and jito-shredstream-proxy
- jito block engine bundle reader stub
- core types reshaped for slot / signature / lamports / compute units / jito_tip_lamports
- new classify_slot() entry point alongside the legacy classify_block alias
- pyproject deps: dropped eth-utils / eth-abi / eth-hash. added based58.
- rust crate refactored: SwapLeg.signature, Bundle.slot, jito_tip_lamports
- demo fixture moved from a uniswap v3 sandwich on weth/usdc to a raydium amm v4 sandwich on sol/usdc
- env vars renamed: HAKIRI_RPC_HTTP_URL, HAKIRI_GEYSER_GRPC_URL, HAKIRI_JITO_BLOCK_ENGINE_URL
- trace mode values: getblock | geyser | shredstream
- readme, roadmap, architecture, heuristics, glossary fully rewritten
numbers
- 38 commits between v0.1.1 and v0.2.0
- 23 pytest tests + 3 cargo integration tests, all green
- ruff + cargo fmt + clippy -D warnings enforced
honest status
what is not shipped in 0.2.0:
- the geyser / shredstream live ingest is still a stub. `hakiri scan` falls through to demo when called.
- jit, atomic-arb, leader-collusion, liquidation rules are planned for v0.3 / v0.4
- meteora, lifinity, pump.fun, phoenix, raydium-clmm decoders are stubs
- the searcher and leader tables are seeded with placeholders. real curation lands as PRs from the community
- the ai filter is still a no-op pass-through
read-only by design. no wallet, no signer, no executor. the chain changed; the philosophy did not.
links
- site: https://hakiri.xyz/
- x: https://x.com/HakiriAgent
- telegram: https://t.me/hakirieth
- changelog: https://github.com/hakiriagent/hakiri/blob/main/CHANGELOG.md
v0.1.1 — branding + DX polish
what shipped
- top-level --version / -V flag on the cli for fast version checks
- banner asset (assets/bannerhakiri.jpg) referenced from the readme
- twitter, telegram, and website badges on the readme
changed
- project homepage now points to https://hakiri.xyz/ (pyproject + repo metadata)
- ascii wordmark dropped from readme; the banner already shows it
fixed
- ruff import order in enrich/searcher.py and enrich/builder.py
- duplicate authors / description / license keys in ingest-rs/Cargo.toml
honest status
still a v0.1.x patch. live mempool ingest is the v0.2 work. no new heuristics shipped in this release. if you starred for sandwich and backrun detection, that is what is in the box.
links
- site: https://hakiri.xyz/
- x: https://x.com/HakiriAgent
- telegram: https://t.me/hakirieth
v0.1.0 — sandwich + backrun, uniswap v2/v3 decode
what shipped
- core types: `Event`, `Bundle`, `SwapTx`, `Victim`, `Verdict`
- sandwich detector (`SAND-01`) and one-step backrun detector (`BACK-01`)
- uniswap v2 + v3 swap log decoders
- known-router / known-builder / known-searcher lookup tables
- coinbase-transfer detector for bundle attribution
- rule-based scorer with confidence cap at 0.95
- output sinks: stdout (rich), jsonl, webhook (httpx)
- typer cli with `scan`, `investigate`, `demo`, `version`
- offline `demo scan` and `demo investigate` driving synthetic fixtures
- pydantic-settings config loader
- rust crate `hakiri-ingest`: pending-tx + sandwich classifier + trace types
- pytest suite (20 tests) + cargo integration tests (3 tests) — all green
- ci workflow on push and pr: python matrix (3.9-3.12) + rust stable
numbers
- 150 commits across 4 contributors
- 26 distinct days of activity
- six commit prefixes: feat, fix, refactor, docs, chore, test
- ruff + cargo fmt + clippy -D warnings enforced
honest status
what is NOT shipped in 0.1.0:
- live mempool subscribe is a stub. `hakiri scan` falls through to `demo scan` when called without rpc.
- jit, atomic-arb, liquidation, oracle rules are planned for v0.2 / v0.3
- only ethereum mainnet. l2s land in v0.3
- ai filter is a noop pass-through. enabling `ANTHROPIC_API_KEY` does not change scoring yet
- balancer + curve decoders are stubs
read-only by design. no wallet, no signer, no executor. the repo is the product.