This page lists the main types and interfaces used in the ActionCodes SDK. For detailed definitions, see the protocol documentation:

ActionCodeMeta

See ActionCodeMeta.

ResolveCodeRequest

interface ResolveCodeRequest {
  code: string;
}
Request payload for resolving an action code.

ActionCodeStatusResponse

interface ActionCodeStatusResponse {
  status: ActionCodeStatus;
  expiresAt: number;
  hasTransaction: boolean;
  hasMessage: boolean;
  finalizedSignature: string | null;
  signedMessage: string | null;
}
Response for the status of an action code.

RegisterCodeRequest

interface RegisterCodeRequest {
  code: string;
  pubkey: string;
  signature: string;
  timestamp: number;
  prefix: string;
  chain: 'solana';
  metadata?: ActionCodeMeta;
}
Request payload for registering an action code.

RegisterCodeResponse

interface RegisterCodeResponse {
  codeHash: string;
  issuedAt: number;
  expiresAt: number;
  remainingInSeconds: number;
  status: ActionCodeStatus;
}
Response for registering an action code.

AttachCodeRequest

interface AttachCodeRequest {
  code: string;
  chain: 'solana';
  transaction?: string;
  message?: string;
  intentType: 'transaction' | 'sign-only';
  meta?: ActionCodeMeta;
}
Request payload for attaching a transaction or message to an action code.

AttachCodeResponse

interface AttachCodeResponse {
  status: string;
  codeHash: string;
  expiresAt: number;
  chain: string;
  actionCodeStatus: ActionCodeStatus;
  hasTransaction: boolean;
  hasMessage: boolean;
}
Response for attaching a transaction or message to an action code.

FinalizeCodeRequest

interface FinalizeCodeRequest {
  code: string;
  signature?: string;
  signedMessage?: string;
}
Request payload for finalizing an action code.

FinalizeCodeResponse

interface FinalizeCodeResponse {
  status: string;
  finalizedSignature: string;
  expiresAt: number;
}
Response for finalizing an action code.

ObserveStatusOptions

interface ObserveStatusOptions {
  interval?: number;
  timeout?: number;
}
Options for observing the status of an action code.

ActionCodeStatus (Enum)

type ActionCodeStatus = 'pending' | 'attached' | 'finalized' | string;
Represents the status of an action code.

Error Types

  • CodeNotFoundError: The code does not exist.
  • UnauthorizedError: The request is unauthorized.
  • ExpiredCodeError: The code has expired.
  • ActionCodesBaseError: Base error for ActionCodes.
  • InvalidCodeFormatError: The code format is invalid.