Public Goods Award Winner at the Solana Breakout Hackathon
IDL Space is a comprehensive development tool designed for Solana developers to seamlessly explore program interfaces, validate, test, and debug Solana programs. Think of it as Postman for Solana - a powerful workspace where you can interact with on-chain programs through their Interface Definition Language (IDL) files.
Build complex multi-instruction transactions with an intuitive visual interface:
- Add multiple instructions to a single transaction
- Configure transaction options (compute units, priority fees, commitment levels)
- Reorder instructions with drag-and-drop
- Save and reuse transaction templates
- Real-time transaction execution with detailed logs
Import Solana program IDLs from multiple sources:
- File Upload: Drag and drop IDL JSON files
- On-chain Fetch: Retrieve IDLs directly from program addresses
- URL Import: Load IDLs from remote URLs
- SPL Programs: Built-in support for SPL Token and other common programs
- Supports both legacy and new IDL formats
Easily find and verify Program Derived Addresses:
- Automatic PDA seed detection from IDL
- Interactive seed input interface
- Real-time PDA calculation
- Copy addresses with one click
View and monitor on-chain account data:
- Deserialize account data using IDL definitions
- Real-time account state inspection
- Support for all Anchor account types
- Beautiful formatted display of complex data structures
Never lose track of your development progress:
- Complete transaction history with logs
- Success/failure status tracking
- Signature and explorer links
- Filter and search through past transactions
Work across different Solana networks:
- Mainnet Beta
- Devnet
- Testnet
- Custom RPC endpoints
Organize your development workflow:
- Create multiple workspaces for different projects
- Manage programs per workspace
- Isolated transaction histories
- Workspace-specific settings
- Node.js 20+
- npm, yarn, pnpm, or bun
- PostgreSQL database (for production) or SQLite (for development)
- Clone the repository:
git clone https://github.com/yourusername/idlspace.git
cd idlspace- Install dependencies:
npm install- Set up environment variables:
cp .env.example .envEdit .env and configure your database connection and other settings.
- Set up the database:
npx prisma generate
npx prisma db push- Run the development server:
npm run dev- Open http://localhost:3000 in your browser.
- Framework: Next.js 15.2 with App Router
- Language: TypeScript 5
- Styling: TailwindCSS 4
- Blockchain:
- @solana/web3.js
- @coral-xyz/anchor
- @solana/wallet-adapter
- Database: Prisma ORM with PostgreSQL
- UI Components:
- @headlessui/react
- @heroicons/react
- react-hot-toast
- Authentication: NextAuth.js
idlspace/
├── src/
│ ├── app/ # Next.js app router pages
│ ├── components/ # React components
│ │ ├── workspace/ # Workspace-related components
│ │ └── ui/ # Reusable UI components
│ ├── contexts/ # React contexts
│ │ ├── WorkspaceContext.tsx
│ │ ├── BuilderContext.tsx
│ │ └── CurrentNodeContext.tsx
│ ├── hooks/ # Custom React hooks
│ ├── utils/ # Utility functions
│ └── services/ # API services
├── prisma/ # Database schema and migrations
├── public/ # Static assets
└── native-idls/ # Built-in IDL files
- Navigate to the Workspaces page
- Click "Create Workspace"
- Enter a name and select a network (Mainnet, Devnet, etc.)
- Your workspace is ready!
- Open your workspace
- Click "Add Program" in the sidebar
- Choose your import method:
- Upload an IDL file
- Enter a program address to fetch on-chain
- Provide a URL to an IDL file
- Select from built-in SPL programs
- The program's instructions, accounts, and types will be loaded automatically
- Click on an instruction in the Programs tree
- Fill in the required accounts and arguments
- Click "Add Instruction" to add more instructions
- Configure transaction options (optional)
- Click "Send Transaction" to execute
- View the results in the response panel
- Focus on an account field that requires a PDA
- Click the "Find" button
- Enter the required seeds
- The PDA will be calculated and automatically filled
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License.
For questions and support, please open an issue on GitHub.
Built with ❤️ for the Solana developer community
