Below is a list of all the models found in the Wallet Guard API responses.

ScanResult

interface ScanResult {
  domainName: string;
  recommendedAction: RecommendedAction;
  riskFactors: RiskFactor[] | null;
  verified: boolean; // If the website is on our allowlist
  status: ScanStatus;
}

RecommendedAction

export enum RecommendedAction {
  None = 'NONE', // No threats detected
  Warn = 'WARN', // Suspicious indicators found
  Block = 'BLOCK' // Confirmed threats present
}

RiskFactor

interface RiskFactor {
  type: WarningType;
  severity: Severity;
  message: RiskMessage;
  value?: string; // Optional. Additional risk data present on ML_INFERENCE and RECENTLY_CREATED warning types
}

ScanStatus

export enum ScanStatus {
  Complete = 'COMPLETE', // Scan finished with results available
  InProgress = 'IN_PROGRESS', // Scan in progress, scraper gathering advanced heuristics
  Incomplete = 'INCOMPLETE' // Scan could not complete, possibly due to domain resolution issues
}

WarningType

enum WarningType {
  RecentlyCreated = "RECENTLY_CREATED", 
  Blocklisted = "BLOCKLISTED", 
  MlInference = "ML_INFERENCE", 
  Drainer = "DRAINER",
}

Severity

enum Severity {
  Low = "LOW",
  High = "HIGH",
  Critical = "CRITICAL",
}

RiskMessage

enum RiskMessage {
  RecentlyCreatedRiskMessage = "Domain recently created.",
  BlocklistedRiskMessage = "Domain flagged on blocklist.",
  MlInferenceRiskMessage = "Domain is likely a phishing attempt.",
  DrainerRiskMessage = "Domain identified as a wallet drainer.",
}