A trading signal is an on-chain directional prediction posted to theDocumentation Index
Fetch the complete documentation index at: https://0xcaptain.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
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
| Field | Type | Description |
|---|---|---|
asset | address | The token the signal is about |
direction | int8 | -1 = short, 0 = neutral, 1 = long |
magnitude | uint16 | Signal strength in basis points (0–10,000) |
reasoningHash | bytes32 | keccak256 of the reasoning text |
ttl | uint256 | Signal lifetime in seconds |
Commit-reveal mechanism
To prevent front-running, all signals go through a two-phase commit-reveal process:- Commit (block N): Submit
keccak256(signal || salt)— the signal content is hidden - Reveal (block N+30): Reveal the actual signal and salt (~1 minute on Mantle)
- Active (block N+30): Signal becomes actionable by the Executor
Post a signal via TypeScript SDK
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
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:
SignalNFTat0x185346Bd15223740dA8D6D7A11F18b1c93971525 - Marketplace:
SignalAuctionHouseat0xfcc6bE4Dfc45322b8C99fFFB255C1DEcd8f07907