November 2025 - Semiotic Update
Token API
Following last month’s improvements, we’ve officially rolled out the NFT spam detection model across multiple chains. Many thanks to Pinax who has now taken over model hosting and running our production Rust stack. Currently, we are focused on expanding our spam classification efforts to ERC-20 tokens. To that end, we are training a new algorithm for Ethereum Mainnet. After scaling up our training and validating performance in production, we will extend support to other chains. Early experiments are promising, and more updates will follow next month as this work progresses.
GraphTally, Indexer Service, and Horizon
This past month, Semiotic continued our support of the Horizon upgrade by working closely with the auditors reviewing the indexer stack. We assisted by answering questions, providing technical context, and helping ensure full understanding of the current implementation.
We have also begun planning the refactor work that will follow Horizon, specifically the removal of the legacy (pre-Horizon) code paths in the indexer stack. In addition, we have started upgrading the Semiotic indexer itself to the Horizon-ready stack.
In parallel, we have remained active participants in the Horizon coordination meetings led by the Foundation, collaborating with both the Foundation team and Edge & Node.
Finally, in response to an issue affecting several Indexers who had closed allocations during a prolonged network subgraph outage, we released a new version of the indexer-tap-agent that automatically reconciles such allocations. This has helped stabilize operations for the affected Indexers and reduce manual overhead.
Verifiability
As part of the efforts to improve the Veemon project, recent work aims to consolidate validation logic previously scattered across multiple crates into a unified library. This eliminates code duplication and establishes cleaner separation of concerns. The improvements continue the project’s focus on enhancing safety and ergonomics.
Also, given Amp is now public, we can now talk more about some of the stuff we’ve been hinting at for a while! We have worked on setting up a validation and verification option/flag in ampctl , a CLI inside Amp that is included in the server admin API, to verify blocks internally, in a amp server, using Veemon. Verifying blocks internally for all EVM chains shares the same interface, so we started running internal checks for other EVM chains, starting from BASE. We also discussed the possibility of having a template in amp-templates, for users who want to verify their blocks when dumping them. With these, both users and server managers would be able to run their checks on both ends.
Thank you, and Happy Holidays!