Skip to main content
A trading signal is an on-chain directional prediction posted to the SignalBoardV2 contract. Registered analysts submit signals that the Guard agent validates; approved signals drive vault execution. Profitable signals earn analysts a share of protocol performance fees.

Signal fields

Commit-reveal mechanism

To prevent front-running, all signals go through a two-phase commit-reveal process:
  1. Commit (block N): Submit keccak256(signal || salt) — the signal content is hidden
  2. Reveal (block N+30): Reveal the actual signal and salt (~1 minute on Mantle)
  3. Active (block N+30): Signal becomes actionable by the Executor
This ensures MEV searchers cannot extract value from a signal before it becomes public.

Post a signal via TypeScript SDK

If reasoning is a plain string, the SDK automatically hashes it with keccak256. If you pass a 66-character hex string (already a hash), it is used as-is.

Post a signal via Python SDK

List signals via CLI

Example output:

Signal NFTs

When a signal results in a profitable vault trade, you can mint it as an ERC-721 Signal NFT. Signal NFTs serve as provable, tradeable track records.
  • Contract: SignalNFT at 0x185346Bd15223740dA8D6D7A11F18b1c93971525
  • Marketplace: SignalAuctionHouse at 0xfcc6bE4Dfc45322b8C99fFFB255C1DEcd8f07907
Each NFT stores the signal ID, analyst address, realized PnL, reasoning hash, and attestation ID — all verifiable on-chain.