signalvault-sdk
v0.4.0
Published
Publish binary and perp signals to SignalVault vaults on Somnia
Downloads
38
Maintainers
Readme
signalvault-sdk
Publish Event Contract (binary) and perp signals to SignalVault vaults on Somnia testnet.
You only need: vault address + publisher wallet private key.
npm install signalvault-sdk
# optional — live market discovery
npm install @somnia-chain/markets-sdkEvent Contracts (binary)
import { SignalVault, pickLiveMarket } from 'signalvault-sdk'
const vault = new SignalVault({
vault: process.env.VAULT_ADDRESS!,
privateKey: process.env.PRIVATE_KEY!,
instrument: 'binary',
})
const market = await pickLiveMarket({
asset: 'ETH',
rpcUrl: 'https://api.infra.testnet.somnia.network/',
indexerUrl: process.env.MARKETS_INDEXER_URL!,
})
await vault.publishBinary({
direction: 'UP',
sizeBps: 1500,
marketId: market!.marketId,
limitPrice: market!.suggestedLimitPrice,
reason: 'RSI oversold',
})Perps
import { SignalVault, pickLivePerpMarketFromIndexer } from 'signalvault-sdk'
const vault = new SignalVault({
vault: process.env.PERP_VAULT_ADDRESS!,
privateKey: process.env.PRIVATE_KEY!,
instrument: 'perp',
})
const perp = await pickLivePerpMarketFromIndexer({
asset: 'BTC',
rpcUrl: 'https://api.infra.testnet.somnia.network/',
indexerUrl: process.env.MARKETS_INDEXER_URL!,
privateKey: process.env.PRIVATE_KEY!,
})
await vault.publishPerp({
direction: 'SHORT',
sizeBps: 1200,
perpPool: perp.pool,
limitPrice: perp.suggestedLimitPrice,
reason: 'Funding elevated',
})What the SDK does
- Resolves
vault.orchestrator()→ publisher contract - Verifies AGENT vault + custom publisher
- Sends
publish(direction, sizeBps, marketId, limitPrice, reason)— perp pool encoded asmarketId
What the SDK does NOT do
- Follower subscribe / collateral approve (use the web UI)
- On-chain mirror execution (routers + MirrorReactor)
- Wallet-fill mirroring (backend relayer for WALLET vaults)
- Redemption / claim (frontend or backend watcher)
