Version: 1.0.0
Category: Troubleshooting
Status: Stable
Last Updated: January 1, 2026
This guide helps troubleshoot issues with reactor staking and validation delegation. Reactor staking is managed at the player level, and validation delegation is abstracted via Reactor Infuse/Defuse actions.
Symptom: reactor-infuse transaction broadcasts but delegation doesn’t occur
Cause: Player is halted (offline)
Diagnosis:
GET /structs/player/{playerId}player.online == truefalse, player is haltedSolution:
player.online == truereactor-infuse actionReference: dependencies/energy-production.md, schemas/errors.md#/PLAYER_HALTED
Symptom: reactor-infuse transaction fails with insufficient funds error
Cause: Player doesn’t have enough Alpha Matter
Diagnosis:
GET /structs/player/{playerId}player.alphaMatter amountSolution:
reactor-infuse actionReference: schemas/errors.md#/INSUFFICIENT_FUNDS, protocols/economic-protocol.md
Symptom: Not sure if delegation is active after infuse
Cause: Not checking reactor staking status
Diagnosis:
GET /structs/reactor/{reactorId}reactor.staking.delegationStatus"active", "undelegating", "migrating"Solution:
reactor.staking.delegationStatus matches expected statereactor.staking.staked == true for active delegationreactor.staking.delegationAmount matches expected amountReference: schemas/entities/reactor.md, protocols/economic-protocol.md
Symptom: reactor-defuse fails when trying to undelegate
Cause: Delegation already in undelegation period
Diagnosis:
GET /structs/reactor/{reactorId}reactor.staking.delegationStatus == "undelegating"Solution:
reactor-cancel-defusion to cancel undelegationReference: schemas/actions.md#/reactor-cancel-defusion, protocols/economic-protocol.md
Symptom: reactor-begin-migration fails
Cause: Delegation not in correct state for migration
Diagnosis:
GET /structs/reactor/{reactorId}reactor.staking.delegationStatus"active" or "undelegating" statusSolution:
"active" or "undelegating""migrating", migration already in progressreactor-begin-migrationReference: schemas/actions.md#/reactor-begin-migration, protocols/economic-protocol.md
Symptom: reactor-cancel-defusion fails
Cause: Delegation not in undelegation state
Diagnosis:
GET /structs/reactor/{reactorId}reactor.staking.delegationStatus != "undelegating""undelegating"Solution:
"undelegating""active", use reactor-defuse first"migrating", cannot cancelreactor-cancel-defusion when status is "undelegating"Reference: schemas/actions.md#/reactor-cancel-defusion, protocols/economic-protocol.md
Symptom: Different reactors show different staking statuses
Cause: Staking is managed at player level, not reactor level
Diagnosis:
GET /structs/reactor?ownerId={playerId}Solution:
Reference: schemas/entities/reactor.md, protocols/economic-protocol.md#/reactor-staking
GET /structs/reactor/{reactorId}reactor.staking.staked == truereactor.staking.delegationStatus == "active"reactor.staking.delegationAmount matches expected amountreactor.validator is set (if applicable)GET /structs/reactor/{reactorId}reactor.staking.delegationStatus == "undelegating"reactor.staking.staked == false after period completesGET /structs/reactor/{reactorId}reactor.staking.delegationStatus == "migrating"GET /structs/reactor/{reactorId}reactor.staking.delegationStatus == "active"reactor.staking.staked == trueINSUFFICIENT_FUNDS - Not enough Alpha MatterPLAYER_HALTED - Player is offlineINSUFFICIENT_CHARGE - Not enough charge (if applicable)GENERAL_ERROR - General error (retryable)See: schemas/errors.md for complete error definitions
After any staking action, always query reactor to verify state changed as expected.
Before attempting staking actions, verify player is online.
Track delegation status changes to understand current state.
Account for undelegation periods when planning operations.
Use reactor-begin-migration for redelegation instead of defuse + infuse.
../protocols/economic-protocol.md - Reactor staking workflows../schemas/actions.md - Reactor staking actions../schemas/entities/reactor.md - Reactor entity schema../examples/economic-bot.md - Reactor staking examples../schemas/errors.md - Error definitionsLast Updated: January 1, 2026