SDK Reference
Glitch Gremlin SDK Reference
Installation
npm install @glitch-gremlin/sdkCore Concepts
GlitchSDK
The main class for interacting with the Glitch Gremlin platform.
import { GlitchSDK, TestType } from '@glitch-gremlin/sdk';
const sdk = new GlitchSDK({
cluster: 'devnet', // or 'mainnet-beta'
wallet: yourWallet // Solana wallet instance
});API Reference
Chaos Testing
createChaosRequest
Creates a new chaos test request.
Parameters:
targetProgram: PublicKey or string of program to testtestType: FUZZ | LOAD | EXPLOIT | CONCURRENCYduration: 60-3600 secondsintensity: 1-10 scaleparams?: Optional test-specific parameters
Returns:
getRequestStatus
Get status of an existing request.
Returns:
Governance
createProposal
Create a new governance proposal.
Parameters:
title: Proposal titledescription: Detailed descriptiontargetProgram: Program to testtestParams: ChaosRequestParamsstakingAmount: Amount of GLITCH to stake
Returns:
vote
Vote on a governance proposal.
Staking
stakeTokens
Stake GLITCH tokens.
Parameters:
amount: Number of tokens to stakelockupPeriod: Lock duration (86400-31536000 seconds)
unstakeTokens
Unstake previously staked tokens.
Token Economics
calculateChaosRequestFee
Calculate the fee for a chaos request.
Error Handling
The SDK throws GlitchError with specific error codes:
Common error codes:
1001: Insufficient funds
1002: Invalid program address
1003: Request timeout
1004: Invalid test type
1005: Invalid intensity
1006: Invalid duration
1007: Rate limit exceeded
1008: Insufficient stake amount
1009: Insufficient voting balance
1010: Already voted
1011: Invalid proposal ID
1012: Execution failed
1013: Proposal not passed
1014: Invalid lockup period
1015: Stake not found
1016: Tokens still locked
1008: Insufficient stake amount
1009: Insufficient voting balance
1010: Already voted
1011: Invalid proposal ID
1012: Execution failed
1013: Proposal not passed
1014: Invalid lockup period
1015: Stake not found
1016: Tokens still locked
Rate Limits
2 second cooldown between chaos requests
Maximum 3 requests per minute per address
1 proposal per address per day
Voting cooldown period between votes
Maximum 10 active proposals at once
Staking lockup period: 1 day to 1 year
Best Practices
Always handle errors appropriately:
Use appropriate test durations:
Monitor test results:
Examples
See the examples directory for complete usage examples:
quick-test.ts: Simple test using an ephemeral walletbasic-test.ts: More detailed test with custom parametersgovernance-proposal.ts: Example of creating a governance proposal
Last updated