TagwiseTagwiseDevnet
SDK Reference

Types & Models

TypeScript interfaces, options, and model definitions exported by @tagwise/tip-sdk.

This page provides full type definitions for all objects used in @tagwise/tip-sdk.


Client Options

TipClientOptions

type TipClientOptions = Readonly<{
  baseUrl?: string;   // Base URL of TIP API (default: "https://tip.tagwise.me")
  rpcUrl?: string;    // Solana RPC URL for direct chain reads & submitting txs
  fetch?: FetchLike;  // Custom fetch implementation
  rpc?: SolanaRpc;    // Pre-built @solana/kit RPC client instance
  programId?: string; // Custom program ID
}>;

Response Models

ResolveResponse & IdentityResponse

type ResolveResponse = {
  tag: string;                 // e.g. "@alice"
  owner: string;               // Base58 Solana public key of owner
  wallet: string;              // Base58 Solana public key of payment destination
  verified: boolean;           // Verified identity flag
  merchant: boolean;           // Merchant status flag
  displayName: string | null;  // Human-readable display name
  avatar: string | null;       // Avatar image URL
  bio: string | null;          // User biography text
  preferredToken: string | null; // e.g. "SOL" or "USDC"
  paymentLink: string;         // Universal payment URL
};

type IdentityResponse = ResolveResponse;

AvailabilityResponse

type AvailabilityResponse = {
  tag: string;
  available: boolean;
  reason?: "taken" | "invalid" | "reserved";
};

UnsignedTransactionResponse

type UnsignedTransactionResponse = {
  transaction: string;         // Base64 encoded unsigned Solana transaction
  pda: string;                 // Derived tag PDA address
  lastValidBlockHeight: number; // Expiration block height
};

QrResponse

type QrResponse = {
  tag: string;
  solanaPayUrl: string; // "solana:<wallet>" payload
  paymentLink: string;  // "https://tagwise.me/pay/@<tag>"
};

PaymentLinkResponse

type PaymentLinkResponse = {
  tag: string;
  url: string; // Checkout URL
};

SearchResultItem

type SearchResultItem = {
  tag: string;
  displayName: string | null;
  avatar: string | null;
  verified: boolean;
};

Parameter Types

RegisterParams

type RegisterParams = {
  tag: string;       // Tag handle to register (e.g. "alice")
  wallet?: string;   // Optional payment destination wallet pubkey (defaults to owner)
  feePayer?: string; // Optional sponsor pubkey to pay rent and fees (defaults to owner, self-paid)
};

UpdateProfileFields

type UpdateProfileFields = {
  displayName?: string | null;
  avatar?: string | null;
  bio?: string | null;
  preferredToken?: string | null;
};

Signer Interfaces

Signer (SIWS Authentication)

type Signer = {
  publicKey: string;
  signMessage(bytes: Uint8Array): Promise<Uint8Array>;
};

TransactionSigner (Submitting Transactions)

type TransactionSigner = {
  signTransaction(bytes: Uint8Array): Promise<Uint8Array>;
};

On this page