gRPC

Stream real-time trading signals as they are generated by Guardis. Signals are dispatched immediately upon detection, giving you the fastest possible access to actionable opportunities.

Endpoint

enterprise.guardis.io:443

Authentication

Include your API key in the request metadata using the x-api-key field.

x-api-key: your_api_key_here

Service Definition

syntax = "proto3";

package guardis.signals.v1;

import "google/protobuf/timestamp.proto";

service SignalsService {
  // Stream signals in real-time as they are generated
  rpc StreamSignals(StreamSignalsRequest) returns (stream Signal);
}

message StreamSignalsRequest {
  // Optional: Filter by model name. If empty, all models are included.
  optional string model_name = 1;
}

message Signal {
  // Unique identifier for this signal
  int64 row_id = 1;
  // The mint address of the token
  string token_address = 2;
  // The on-chain address of the liquidity pool
  string pair_address = 3;
  // URL to the token image
  string image = 4;
  // Token name
  string name = 5;
  // Token ticker symbol
  string symbol = 6;
  // Market cap at signal time (USD)
  string signal_market_cap = 7;
  // Pool liquidity at signal time (USD)
  string liquidity_usd = 8;
  // All-time high market cap after signal (USD)
  string ath_market_cap_usd = 9;
  // Maximum ROI percentage from signal to ATH
  string roi_percentage = 10;
  // Maximum drawdown percentage before ATH
  string max_drawdown_percentage = 11;
  // Market cap at maximum drawdown (USD)
  string max_drawdown_market_cap = 12;
  // Signal model version
  int32 version = 13;
  // Name of the model that generated this signal
  string model_name = 14;
  // Timestamp when the signal was generated
  google.protobuf.Timestamp created_at = 15;
}

Request Parameters

StreamSignalsRequest

Field
Type
Required
Description

model_name

string

No

Filter by model name. If omitted, signals from all models are streamed


Response Format

Signal

Field
Type
Description

row_id

int64

Unique identifier for this signal

token_address

string

The mint address of the token

pair_address

string

The on-chain address of the liquidity pool

image

string

URL to the token image

name

string

Token name

symbol

string

Token ticker symbol

signal_market_cap

string

Market cap at the time of signal generation (USD)

liquidity_usd

string

Pool liquidity at signal time (USD)

ath_market_cap_usd

string

All-time high market cap achieved after signal (USD)

roi_percentage

string

Maximum ROI percentage from signal to ATH

max_drawdown_percentage

string

Maximum drawdown percentage before reaching ATH

max_drawdown_market_cap

string

Market cap at the point of maximum drawdown (USD)

version

int32

Signal model version

model_name

string

Name of the model that generated this signal

created_at

google.protobuf.Timestamp

Timestamp when the signal was generated

Note: Decimal values are returned as strings to preserve precision.


Example Usage

Python:

Go:


Connection Best Practices

  • Act quickly — Signals are time-sensitive; process them immediately upon receipt

  • Implement reconnection logic — Network interruptions happen; automatically reconnect with exponential backoff

  • Use deadlines — Set appropriate deadlines for your streaming calls to handle stale connections

  • Handle stream errors gracefully — Check for io.EOF and gRPC status codes to determine if reconnection is needed

  • Log signals — Maintain a local record of received signals for analysis and debugging

Last updated