Skip to content

feat(relayer): add deposit recovery endpoint#459

Closed
danwt wants to merge 3 commits intomain-dymfrom
danwt/claude/kaspa-deposit-recovery
Closed

feat(relayer): add deposit recovery endpoint#459
danwt wants to merge 3 commits intomain-dymfrom
danwt/claude/kaspa-deposit-recovery

Conversation

@danwt
Copy link
Copy Markdown

@danwt danwt commented Jan 27, 2026

Summary

  • Add POST /kaspa/deposit/recover endpoint to manually recover Kaspa deposits that fell outside the normal lookback window
  • Useful when relayer DB has been wiped or for deposits that were missed for other reasons
  • Fetches transaction from Kaspa REST API, validates it's an escrow transfer, and queues it for processing

Usage

curl -X POST https://kaspa-relayer.mzonder.com/kaspa/deposit/recover \
  -H "Content-Type: application/json" \
  -d '{"kaspa_tx": "242b5987..."}'

Test plan

  • Deploy to staging/testnet relayer
  • Test with a known historical deposit that was missed
  • Verify the deposit gets processed through the normal pipeline
  • Verify error handling for invalid/non-escrow transactions

🤖 Generated with Claude Code

danwt and others added 3 commits January 27, 2026 14:30
Extend the /validator-info endpoint to return both ISM address and
escrow public key. Both fields are now optional to support validators
that have only ISM key, only escrow key, or both.

Response format:
- ism_address: Ethereum-style address (if ISM signer configured)
- escrow_pub: Compressed secp256k1 public key hex (if escrow key configured)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Add a command to compute the Hyperlane message ID for Kaspa deposit
transactions. This enables users to verify whether a deposit has been
processed on the Dymension hub by querying with the computed message ID.

The message ID is deterministically derived from the deposit payload
combined with the Kaspa transaction metadata (tx_id, utxo_index).

Usage:
  kaspa-tools compute-deposit-id <payload> <tx_id> <utxo_index>

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Add POST /kaspa/deposit/recover endpoint to manually recover deposits
that fell outside the normal lookback window due to relayer DB being
wiped or other issues.

The endpoint:
- Accepts a kaspa_tx ID
- Fetches the transaction from Kaspa REST API
- Validates it's a valid escrow transfer
- Queues it for processing via the existing deposit pipeline

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@danwt
Copy link
Copy Markdown
Author

danwt commented Jan 27, 2026

Recreating with clean branch from main-dym

@danwt danwt closed this Jan 27, 2026
@danwt danwt deleted the danwt/claude/kaspa-deposit-recovery branch January 27, 2026 14:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant