gRPC
Endpoint
enterprise.guardis.io:443Authentication
x-api-key: your_api_key_hereService Definition
syntax = "proto3";
package enterprise.v1;
import "google/protobuf/timestamp.proto";
service NewTokenService {
// Stream new token data and supply updates to connected clients
rpc StreamNewTokens(StreamNewTokensRequest) returns (stream NewTokenUpdate);
}
message StreamNewTokensRequest {
// Reserved for future filtering options
}
message NewTokenUpdate {
// Timestamp when this update was generated
google.protobuf.Timestamp timestamp = 1;
// The update payload - either new token data or supply update
oneof payload {
NewTokenData new_token_data = 2;
TokenSupplyUpdate token_supply_update = 3;
}
}
message NewTokenData {
// Core token information
TokenInfo token = 1;
// Token metadata from on-chain metadata account
TokenMetadata metadata = 2;
// Initial liquidity event information
LiquidityEvent liquidity_event = 3;
// Social media links and their verification status
repeated SocialLink social_links = 4;
// Image hash information for duplicate detection (optional)
optional ImageHash image_hash = 5;
}
message TokenInfo {
// The token mint address
string token_address = 1;
// Address of the token creator
string creator_address = 2;
// Total supply of the token (as string to preserve precision)
string total_supply = 3;
// Token name
string name = 4;
// Token symbol
string symbol = 5;
// Number of decimal places
uint32 decimals = 6;
// Mint authority address (empty if revoked)
optional string mint_authority_address = 7;
// Freeze authority address (empty if revoked)
optional string freeze_authority_address = 8;
// Solana slot number when token was created
uint64 creation_slot = 9;
// Timestamp when token was created
google.protobuf.Timestamp created_at = 10;
}
message TokenMetadata {
// Address that can update the metadata
string update_authority_address = 1;
// URI pointing to off-chain metadata (usually Arweave or IPFS)
string uri = 2;
// Parsed metadata from the URI (optional)
optional UriMetadata uri_metadata = 3;
// List of creators with their share percentages
repeated Creator creators = 4;
// Whether the primary sale has happened
bool primary_sale_happened = 5;
// Whether the metadata is mutable
bool is_mutable = 6;
// Edition nonce for master editions (optional)
optional uint32 edition_nonce = 7;
// Token standard (e.g., "Fungible", "NonFungible")
optional string token_standard = 8;
// Collection address if part of a collection
optional string collection = 9;
// Uses information for limited use tokens
optional string uses = 10;
// Collection details for collection parent tokens
optional string collection_details = 11;
// Programmable config for pNFTs
optional string programmable_config = 12;
// Seller fee basis points (royalties, 0-10000)
uint32 seller_fee_basis_points = 13;
}
message UriMetadata {
// Token name from URI
string name = 1;
// Token symbol from URI
string symbol = 2;
// Token description (optional)
optional string description = 3;
// Image URL (optional)
optional string image = 4;
}
message Creator {
// Creator's wallet address
string address = 1;
// Whether the creator has verified this token
bool verified = 2;
// Percentage share of royalties (0-100)
uint32 share = 3;
}
message LiquidityEvent {
// The liquidity pool pair address
string pair_address = 1;
// Initial SOL amount added to the pool (as string to preserve precision)
string initial_liquidity_solana_amount = 2;
// Initial token amount added to the pool (as string to preserve precision)
string initial_liquidity_token_amount = 3;
// Initial liquidity value in USD (as string to preserve precision)
string initial_liquidity_value_usd = 4;
// Solana slot when liquidity was added
uint64 initial_liquidity_add_slot_number = 5;
// Timestamp when liquidity was added
google.protobuf.Timestamp initial_liquidity_add_slot_timestamp = 6;
// Block time at liquidity add
google.protobuf.Timestamp block_time_at = 7;
}
message SocialLink {
// Platform name (e.g., "twitter", "telegram", "website")
string platform = 1;
// URL of the social link
string url = 2;
// HTTP status code from verification check
uint32 status_code = 3;
}
message ImageHash {
// 32-bit perceptual hash
string phash_32 = 1;
// 64-bit perceptual hash
string phash_64 = 2;
// Timestamp when the hash was computed
google.protobuf.Timestamp created_at = 3;
}
message TokenSupplyUpdate {
// The token mint address
string token_address = 1;
// New total supply value (as string to preserve precision)
string new_supply = 2;
}Request Parameters
Field
Type
Required
Description
Response Format
Field
Type
Description
Field
Type
Description
Field
Type
Description
Field
Type
Description
Field
Type
Description
Field
Type
Description
Field
Type
Description
Field
Type
Description
Field
Type
Description
Field
Type
Description
Example Usage
Event Types
Connection Best Practices
Last updated
