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

RiskResult

type RiskResult = {
  riskFactors: {
    name: string;
    score: number;
    subtext: string;
    text: string;
  }[]
  riskScore: "HIGH" | "LOW" | "MEDIUM"
}

AssetChange

type AssetChange = {
  type: "TRANSFER_IN" | "TRANSFER_OUT" | "APPROVE" | "APPROVE_ALL";
  asset: Asset;
  counterparty?: Entity;
}

Asset

 type Asset = {
  type: "NATIVE" | "ERC20" | "ERC721" | "ERC1155";
  contractAddress: string | null;
  amount: string;
  formattedAmount: string;
  ownedAmount: string | null;
  formattedOwnedAmount: string | null;
  priceUsd: number | null;
  priceNative: number | null;
  tokenId: string | null;
  imageUrl: string | null;
  name: string | null;
  symbol: string | null;
  decimals: number | null;
  assetUrl: string | null;
  isVerifiedOpensea: boolean | null;
  openseaUrl: string | null;
};

Entity

type Entity = {
  type: "ACCOUNT" | "CONTRACT" | "NULL";
  address: string;
  account?: Account;
  contract?: Contract;
};

Account

type Account = {
  address: string;
  ens: string | null;
  nftCount: number;
  topNfts: {
    imageUrl: string | null;
  }[];
  countTransfersTo: number;
};

Contract

type Contract = {
  address: string;
  isVerifiedEtherScan: boolean | null;
  deployedAt: Date | null;
  txnCountTotal: number | null;
  txnCount30Days: number | null;
  label: string | null;
};

* Note: txnCountTotal and txnCount30Days max out at 10,000 transactions.

Function

type Function = {
  name: string;
  arguments: {
    name: string;
    type: string;
    value: any;
  }[];
};

Seaport

type Seaport = {
  seaportType: "BID" | "LISTING" | "BULK_BID" | "BULK_LISTING" | "OTHER";
  expiry: {
  	date: Date;
  	never: boolean;
	};
  creatorAddresses: string[];
  totalAssetValue?: Asset;
  creatorValue?: Asset;
  platformValue?: Asset;
};

ParsedTransaction

type ParsedTransaction = {
  transactionType: TransactionType; // see Enums page
  functionType?: FunctionType; // see Enums page
  contract?: Contract;
  function?: Function;
};

ApprovedAsset

type ApprovedAsset = {
  id: string;
  balanceAmount?: string | null;
  balanceUsd?: number | null;
  decimals?: number | null;
  imageUrl?: string | null;
  label?: string | null;
  openSeaIsVerified?: boolean | null;
  priceUsd?: number | null;
  symbol?: string | null;
  recipients: ApprovalRecipient[];
  type: ApprovedAssetType; // see Enums page
};

ApprovalRecipient

type ParsedTransaction = {
  address: string;
  amount: string;
  hasListing: boolean;
  label?: string | null;
  riskExplanation: string;
  riskScore: ApprovalRecipientRiskScore; // see Enums page
  type?: RecipientType; // see Enums page
};