Skip to content

Interactive UI - Automatic Testing Interface for Solana Anchor Programs

Testship automatically generates a beautiful, intuitive testing interface for any Anchor program. Zero configuration, no boilerplate code - just instant access to all your program’s instructions, accounts, and parameters. Built with React, TypeScript, and shadcn/ui for a modern, responsive experience.

When you launch Testship, it:

  1. Reads your program’s IDL - Automatically detects IDL from target/idl/*.json
  2. Analyzes all instructions - Parses parameters, accounts, and relationships
  3. Generates forms instantly - Creates type-safe input fields with validation
  4. Displays account requirements - Shows signer/writable badges and PDA indicators

The UI automatically determines the appropriate input type for each parameter:

  • Public Keys: Validated address inputs with autocomplete from saved accounts
  • Numbers (u8, u16, u32, u64, i8, i16, i32, i64): Range-validated numeric inputs
  • Strings: Text inputs with proper encoding support
  • Booleans: Toggle switches for true/false values
  • Complex Types: Nested forms for structs (coming soon)

As you interact with the UI:

  • Input validation happens in real-time with clear error messages
  • 🔄 Live PDA derivation shows when addresses are being calculated
  • Instant feedback for missing dependencies and invalid inputs
  • 🎯 Context-aware suggestions based on account type and usage history
  • 💾 Auto-save - Form data persists across sessions in localStorage

After executing an instruction:

  • Transaction signature with one-click copy and Explorer link
  • Status badges - Success (green), Error (red), or Pending (yellow)
  • Detailed logs - Full transaction logs with expand/collapse
  • Filter & search - Find past transactions by status or instruction
  • Replay functionality - Quickly re-run previous transactions
  • Persistent history - Saved locally, up to 100 most recent transactions
  1. Search & Select - Use Ctrl+K to quickly find any instruction
  2. Auto-filled Accounts - Signer accounts auto-populated from connected wallet
  3. Smart Suggestions - Account fields show recently used addresses
  4. Fill Arguments - Type-validated inputs with inline error messages
  5. Watch PDAs Derive - See real-time PDA calculation with loading states
  6. Execute Transaction - One-click execution with Solana wallet confirmation
  7. Track Results - View signature, logs, and status in transaction history

Access powerful conversion tools without leaving the UI:

  • Convert dates/times to Unix timestamps (seconds & milliseconds)
  • “Set to Current Time” button for quick timestamps
  • Essential for time-locked instructions
  • Convert SOL amounts to lamports (and back)
  • Supports custom token decimals (6, 9, etc.)
  • Real-time conversion as you type
  • Encode strings to byte arrays for PDA seeds
  • Decode byte arrays back to strings
  • Bidirectional conversion mode
  • Build durations from days, hours, minutes, seconds
  • Instant conversion to total seconds (i64)
  • Quick presets (1 hour, 1 day, 1 week, 30 days)
  • Zero Setup - No test scripts, no configuration files
  • Lightning Fast - Test iterations in seconds, not minutes
  • Visual Debugging - See exactly what’s happening on-chain
  • Team Friendly - Share sessions with non-developers
  • Professional Tools - Built-in utilities for common Solana operations
  • Modern UX - Responsive design, dark mode, keyboard shortcuts
  • Ctrl+K (Cmd+K) - Quick search for instructions
  • Ctrl+Enter - Execute current instruction
  • Ctrl+R (Cmd+R) - Refresh IDL manually

Works seamlessly with:

  • Phantom
  • Solflare
  • Backpack
  • Metamask Snap
  • All Solana Wallet Adapter compatible wallets

Learn how Testship automatically handles complex PDAs in PDA Derivation.