Last active
March 30, 2026 08:07
-
-
Save Aboudjem/6ed961a62485053986b1ba4ad16679c2 to your computer and use it in GitHub Desktop.
Integra PRD: 26-staking (HTML)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width,initial-scale=1.0"><title>PRD: Staking dApp</title><style>*{margin:0;padding:0;box-sizing:border-box}body{background:#0A0A1A;color:#E8E8F0;font-family:'Inter',system-ui,sans-serif;line-height:1.7}a{color:#00CEC9;text-decoration:none}a:hover{text-decoration:underline}.hero{padding:48px 32px 36px;border-bottom:1px solid #2A2A4A;background:linear-gradient(135deg,#0A0A1A 0%,#1A1040 50%,#0A0A1A 100%)}.hero h1{font-size:2rem;font-weight:800;color:#fff;margin-bottom:8px}.hero .meta{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}.badge{display:inline-block;padding:4px 12px;border-radius:6px;font-size:12px;font-weight:700}.badge-owner{background:rgba(108,92,231,0.15);color:#A29BFE;border:1px solid rgba(108,92,231,0.3)}.badge-week{background:rgba(0,206,201,0.15);color:#00CEC9;border:1px solid rgba(0,206,201,0.3)}.badge-est{background:rgba(0,184,148,0.15);color:#00B894;border:1px solid rgba(0,184,148,0.3)}.container{max-width:900px;margin:0 auto;padding:32px 24px}.section{background:#12122A;border:1px solid #2A2A4A;border-radius:12px;padding:24px;margin-bottom:20px}.section h2{font-size:0.8rem;font-weight:700;color:#8888AA;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid #2A2A4A}.section h3{font-size:0.95rem;font-weight:600;color:#E8E8F0;margin:12px 0 6px}.section p{font-size:0.95rem;margin-bottom:8px}.section ul{list-style:none;padding:0}.section ul li{padding:6px 0 6px 20px;position:relative;font-size:0.95rem}.section ul li::before{content:'>';position:absolute;left:0;color:#A29BFE;font-weight:700;font-family:monospace}.section code{background:rgba(108,92,231,0.1);padding:2px 6px;border-radius:4px;font-size:0.88rem;color:#A29BFE}table{width:100%;border-collapse:collapse;font-size:0.9rem;margin:8px 0}th{text-align:left;padding:8px 12px;background:rgba(108,92,231,0.08);color:#A29BFE;font-size:0.75rem;text-transform:uppercase;letter-spacing:1px;border-bottom:1px solid #2A2A4A}td{padding:8px 12px;border-bottom:1px solid rgba(42,42,74,0.5)}.checklist li::before{content:'\2610' !important;color:#8888AA !important;font-family:inherit !important}.back{display:inline-block;margin-bottom:16px;color:#8888AA;font-size:0.9rem}.footer{text-align:center;padding:24px;color:#555577;font-size:0.82rem;border-top:1px solid #2A2A4A;margin-top:32px}</style></head><body><div class="hero"><a class="back" href="https://gist.githack.com/Aboudjem/0af8c2ce9d5b62038a18eeff09603553/raw/integra-testnet-master-plan.html">← Back to Master Plan</a><h1>Staking dApp</h1><div class="meta"><span class="badge badge-owner">Nawar</span><span class="badge badge-week">Week 1</span><span class="badge badge-est">0.5-1 day</span></div><p style="color:#8888AA;font-size:0.9rem">staking.integralayer.com</p></div><div class="container"><div class="section"><h2>Overview</h2><div class=""><p>Staking interface for delegating IRL tokens to Integra validators and earning staking rewards. Uses native Cosmos SDK staking and distribution modules -- no custom contracts. Users browse validators, delegate, track accrued rewards, claim, redelegate, and undelegate. This is P0 infrastructure that every proof-of-stake chain ships on day one. Without it, users are stuck on CLI.</p></div></div> | |
| <div class="section"><h2>Features</h2><div class=""><ul><li><strong>Validator List</strong> — Sortable table of all active validators showing moniker, voting power %, commission rate, uptime, and status (active/jailed)</li></ul><ul><li><strong>Delegate IRL</strong> — Select a validator and stake any amount of IRL tokens via a single transaction</li></ul><ul><li><strong>Undelegate</strong> — Initiate unstaking with the unbonding period clearly displayed before confirmation</li></ul><ul><li><strong>Redelegate</strong> — Move an existing delegation from one validator to another without unbonding</li></ul><ul><li><strong>Claim Rewards</strong> — View pending staking rewards per validator and claim in one click</li></ul><ul><li><strong>Staking Overview Dashboard</strong> — Network-wide stats: total IRL staked, bonding ratio, current APR, number of active validators</li></ul><ul><li><strong>Personal Delegation Summary</strong> — User's total delegated amount, rewards pending, and per-validator breakdown</li></ul><ul><li><strong>Transaction History</strong> — Recent stake/unstake/redelegate/claim actions with tx hashes and timestamps</li></ul><ul><li><strong>APR Display</strong> — Real-time annual percentage rate based on current network inflation and bonding ratio</li></ul><ul><li><strong>Web3Auth Login</strong> — Social account login via @integra/web3auth-provider, no wallet extension required</li></ul><ul><li><strong>Unbonding Tracker</strong> — Shows in-progress unbonding delegations with time remaining until funds are released</li></ul></div></div> | |
| <div class="section"><h2>Functions</h2><div class=""><ul><li><code>MsgDelegate</code> — Stake IRL to a selected validator</li></ul><ul><li><code>MsgUndelegate</code> — Unstake IRL (starts unbonding period)</li></ul><ul><li><code>MsgBeginRedelegate</code> — Move stake between validators without unbonding</li></ul><ul><li><code>MsgWithdrawDelegatorReward</code> — Claim accumulated staking rewards</li></ul><ul><li><code>GET /cosmos/staking/v1beta1/validators</code> — List all validators with commission, tokens, and status</li></ul><ul><li><code>GET /cosmos/staking/v1beta1/delegations/{delegator}</code> — User's active delegations</li></ul><ul><li><code>GET /cosmos/distribution/v1beta1/delegators/{delegator}/rewards</code> — Pending rewards breakdown</li></ul><ul><li><code>GET /cosmos/staking/v1beta1/delegators/{delegator}/unbonding_delegations</code> — In-progress unbonding entries</li></ul></div></div> | |
| <div class="section"><h2>User Flow</h2><div class=""><ul><li>User connects via Web3Auth (social login)</li></ul><ul><li>Staking overview loads: total network staked, APR, user's delegation summary</li></ul><ul><li>User browses the validator list sorted by voting power, commission, or uptime</li></ul><ul><li>User selects a validator and enters an amount to delegate</li></ul><ul><li>User confirms the delegation transaction</li></ul><ul><li>User returns later to check accrued rewards</li></ul><ul><li>User claims rewards in one click</li></ul><ul><li>User can redelegate to a different validator or undelegate (with unbonding countdown)</li></ul></div></div> | |
| <div class="section"><h2>Deliverables</h2><div class="checklist"><ul class="checklist"><li>Validator list page with sorting (voting power, commission, uptime, status)</li></ul><ul class="checklist"><li>Delegation form (select validator, enter amount, confirm tx)</li></ul><ul class="checklist"><li>Undelegation flow with unbonding period display</li></ul><ul class="checklist"><li>Redelegation flow (source validator to destination validator)</li></ul><ul class="checklist"><li>Rewards display and one-click claim</li></ul><ul class="checklist"><li>Staking overview dashboard (network stats + personal summary)</li></ul><ul class="checklist"><li>Transaction history with tx hash links to Explorer</li></ul><ul class="checklist"><li>Unbonding tracker with countdown timers</li></ul><ul class="checklist"><li>Web3Auth integration for social login</li></ul></div></div> | |
| <div class="section"><h2>Integration Points</h2><div class=""><ul><li><strong>Depends on:</strong> Cosmos SDK staking module, Cosmos SDK distribution module, Integra testnet LCD/REST API, @integra/web3auth-provider</li></ul><ul><li><strong>Used by:</strong> Ecosystem Hub (listed under DeFi category), Explorer (delegation txs visible)</li></ul><ul><li><strong>Explorer:</strong> Integra Explorer (all staking txs indexed)</li></ul><ul><li><strong>Note:</strong> 3 active validators on testnet (~33.3% voting power each), token is IRL / airl (18 decimals)</li></ul></div></div> | |
| <div class="section"><h2>XP Rewards</h2><div class=""><table><thead><tr><th>Action</th><th>Points</th></tr></thead><tbody><tr><td>First delegation (stake any amount)</td><td>+100 XP</td></tr><tr><td>Claim rewards</td><td>+25 XP</td></tr><tr><td>Redelegate to a different validator</td><td>+50 XP</td></tr><tr><td>Maintain active delegation for 7+ days</td><td>+200 XP</td></tr></tbody></table></div></div> | |
| <div class="section"><h2>Success Metrics</h2><div class=""><table><thead><tr><th>Metric</th><th>Target</th></tr></thead><tbody><tr><td>Unique delegators</td><td>500+</td></tr><tr><td>Total IRL staked via UI</td><td>>50% of circulating supply</td></tr><tr><td>Average delegation txs per day</td><td>100+</td></tr><tr><td>Reward claims per week</td><td>200+</td></tr><tr><td>Users completing all 4 XP actions</td><td>100+</td></tr></tbody></table></div></div> | |
| </div><div class="footer">Integra Testnet PRD — Staking dApp — Chain: integra-testnet-1 (EVM 26218)</div></body></html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment