<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Developers Forum for XinFin XDC Network: Arturo</title>
    <description>The latest articles on Developers Forum for XinFin XDC Network by Arturo (@xcantera).</description>
    <link>https://www.xdc.dev/xcantera</link>
    <image>
      <url>https://www.xdc.dev/images/tUkl1tr5LQfgnVMI67xamcqehzOA9HdSMI6v9YbGCnc/rs:fill:90:90/mb:500000/ar:1/aHR0cHM6Ly93d3cu/eGRjLmRldi91cGxv/YWRzL3VzZXIvcHJv/ZmlsZV9pbWFnZS82/NS9iY2UwMmZjMC1i/MjljLTRiOWMtYTg4/ZC1mNGE5YmYzNzYw/N2QuanBn</url>
      <title>Developers Forum for XinFin XDC Network: Arturo</title>
      <link>https://www.xdc.dev/xcantera</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://www.xdc.dev/feed/xcantera"/>
    <language>en</language>
    <item>
      <title>XDCValidator Contract Upgrade: Modernizing Staking for the Next Era of XDC</title>
      <dc:creator>Arturo</dc:creator>
      <pubDate>Tue, 31 Mar 2026 10:03:27 +0000</pubDate>
      <link>https://www.xdc.dev/xcantera/xdcvalidator-contract-upgrade-modernizing-staking-for-the-next-era-of-xdc-20kp</link>
      <guid>https://www.xdc.dev/xcantera/xdcvalidator-contract-upgrade-modernizing-staking-for-the-next-era-of-xdc-20kp</guid>
      <description>&lt;p&gt;&lt;strong&gt;TL;DR&lt;/strong&gt;: The XDCValidator contract (&lt;code&gt;0x88&lt;/code&gt;) was deployed with Solidity 0.4.21 and has never received a major upgrade. The ecosystem has matured significantly since then. Liquid staking protocols, institutional staking services, and DeFi composability all demand a more flexible validator lifecycle. I'm proposing we use a contract upgrade as an opportunity to modernize the staking/unstaking mechanism, fix accumulated state inefficiencies, and unlock new use cases. Below are three concrete scenarios for community discussion.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why Now?
&lt;/h2&gt;

&lt;p&gt;The current XDCValidator contract has served the network well, but several realities make an upgrade worth discussing:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Compiler vintage.&lt;/strong&gt; Solidity 0.4.21 predates significant compiler improvements (SafeMath built-ins, custom errors, overflow checks, ABI encoder v2). Newer Solidity versions offer better gas efficiency, security defaults, and developer ergonomics.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;State hygiene.&lt;/strong&gt; Over the network's lifetime the contract has accumulated storage artifacts (zeroed-out array entries, stale mappings) that waste gas and complicate on-chain queries. A migration is an opportunity for a clean slate.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;The "30-day" wall that's actually 35-42 days.&lt;/strong&gt; The contract uses &lt;strong&gt;block-number-based delays&lt;/strong&gt; set at genesis: &lt;code&gt;candidateWithdrawDelay = 1,296,000 blocks&lt;/code&gt; for masternode owners resigning, and &lt;code&gt;voterWithdrawDelay = 432,000 blocks&lt;/code&gt; for voters unvoting. These are hardcoded constructor parameters with no governance mechanism to adjust them.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The 2-second block time is a &lt;strong&gt;theoretical target&lt;/strong&gt;, not a guarantee. Real-world data from &lt;a href="https://xdcscan.com/chart/blocktime"&gt;xdcscan&lt;/a&gt; tells a different story:&lt;/p&gt;

&lt;p&gt;| Period | Avg block time | Effective owner withdrawal delay |&lt;br&gt;
   |---|---|---|&lt;br&gt;
   | Theoretical | 2.00s | 30.0 days |&lt;br&gt;
   | Last 30 days (Mar 2026) | 2.33s | &lt;strong&gt;~35 days&lt;/strong&gt; |&lt;br&gt;
   | Last 365 days | 2.33s | &lt;strong&gt;~35 days&lt;/strong&gt; |&lt;br&gt;
   | Last 90 days (includes Jan 2026 spikes) | 2.83s | &lt;strong&gt;~42 days&lt;/strong&gt; |&lt;br&gt;
   | Worst days (Jan 11-12, 2026) | 13.6s | Would imply ~204 days if sustained |&lt;/p&gt;

&lt;p&gt;In practice, masternode owners resigning today should expect to wait &lt;strong&gt;~35 days&lt;/strong&gt; under normal conditions, and potentially longer during network congestion events. The block time has never consistently held at 2.00s. The network regularly averages 2.2-2.8s, and periodic spikes (Dec 26: 8.4s, Dec 28-30: 4-5s, Jan 10-12: 5-14s) push the effective delay even further.&lt;/p&gt;

&lt;p&gt;For liquid staking protocols, this unpredictability on top of an already long delay is the binding constraint. Protocols must either (a) keep a large idle reserve buffer sized for worst-case timing, (b) force users to wait 35+ days, or (c) route through DEX secondary markets at a discount. All three options erode capital efficiency and hurt adoption.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Important detail:&lt;/strong&gt; &lt;code&gt;resign()&lt;/code&gt; only unlocks the &lt;strong&gt;owner's own voter stake&lt;/strong&gt;, not the full candidacy cap. Other voters who staked on that candidate must separately call &lt;code&gt;unvote()&lt;/code&gt; (with a ~12-day effective delay at current block times) to retrieve their funds. &lt;code&gt;withdraw()&lt;/code&gt; must be called individually per withdrawal entry (specific &lt;code&gt;blockNumber&lt;/code&gt; + &lt;code&gt;index&lt;/code&gt;), there is no batch withdrawal.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Ecosystem competitiveness.&lt;/strong&gt; Other networks have already moved to dynamic or queue-based unstaking:

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Ethereum&lt;/strong&gt;: epoch-based churn limit (~8 validators/epoch), exit times range from hours to weeks depending on demand&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Polkadot&lt;/strong&gt;: RFC-0097 introduces dynamic unbonding from &lt;strong&gt;2 days&lt;/strong&gt; (empty queue) to &lt;strong&gt;28 days&lt;/strong&gt; (high demand)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cosmos&lt;/strong&gt;: 21-day unbonding with per-block queue maturation&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Avalanche&lt;/strong&gt;: ACP-273 proposes reducing minimum staking from 14 days to &lt;strong&gt;48 hours&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;XDC's flat 30 days with zero flexibility is an outlier.&lt;/p&gt;


&lt;h2&gt;
  
  
  Current Mechanism (Deployed at 0x88)
&lt;/h2&gt;

&lt;p&gt;For context, here's the &lt;strong&gt;live on-chain state&lt;/strong&gt; of the contract, queried via &lt;code&gt;eth_getStorageAt&lt;/code&gt; against mainnet RPC and cross-referenced with the verified source on &lt;a href="https://xdcscan.com/contractdiffchecker?a1=0x0000000000000000000000000000000000000088"&gt;xdcscan&lt;/a&gt;:&lt;/p&gt;
&lt;h3&gt;
  
  
  Contract Parameters (immutable since genesis)
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Storage slot&lt;/th&gt;
&lt;th&gt;On-chain value&lt;/th&gt;
&lt;th&gt;Real-world effect&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;candidateWithdrawDelay&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;0x0e&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;1,296,000 blocks&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;~35 days&lt;/strong&gt; at current avg 2.33s/block&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;voterWithdrawDelay&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;0x0f&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;432,000 blocks&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;~12 days&lt;/strong&gt; at current avg 2.33s/block&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;minCandidateCap&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;0x0b&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;10,000,000 XDC&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Stake required to propose a masternode&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;minVoterCap&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;0x0c&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;25,000 XDC&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Minimum vote amount&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;maxValidatorNumber&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;0x0d&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;18&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Genesis relic, consensus layer overrides to &lt;strong&gt;108&lt;/strong&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Compiler&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;Solidity 0.4.21&lt;/td&gt;
&lt;td&gt;No overflow protection, known compiler bugs&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;h3&gt;
  
  
  Live Network State (queried March 2026)
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Metric&lt;/th&gt;
&lt;th&gt;Value&lt;/th&gt;
&lt;th&gt;Notes&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Contract balance&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;2,580,878,498 XDC&lt;/strong&gt; (~$80M)&lt;/td&gt;
&lt;td&gt;All staked funds held here&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;candidateCount&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;253&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Active candidates registered&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;ownerCount&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;219&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Includes resigned owners who are still counted&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;code&gt;candidates[]&lt;/code&gt; array length&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;529&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Entries ever created (never shrinks)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Active (non-zero) entries&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;253&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;47.8% of the array&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Ghost (zeroed-out) entries&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;276&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;52.2% waste&lt;/strong&gt;, gas overhead on every enumeration&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Consensus active set&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;108&lt;/strong&gt; masternodes&lt;/td&gt;
&lt;td&gt;Set by XDPoS v2, not the contract's &lt;code&gt;maxValidatorNumber&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Current block&lt;/td&gt;
&lt;td&gt;~100,783,000&lt;/td&gt;
&lt;td&gt;~7.4 years of blocks at avg 2.33s&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;h3&gt;
  
  
  Withdrawal Flow Today
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Owner calls &lt;code&gt;resign(candidateAddress)&lt;/code&gt; → &lt;code&gt;isCandidate&lt;/code&gt; set to false, owner's own stake scheduled for release at &lt;code&gt;block.number + 1,296,000&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Owner waits &lt;strong&gt;~35 days in practice&lt;/strong&gt; (1.296M blocks at real-world avg of 2.33s/block, can stretch to &lt;strong&gt;40+ days&lt;/strong&gt; during congestion spikes).&lt;/li&gt;
&lt;li&gt;Owner calls &lt;code&gt;withdraw(blockNumber, index)&lt;/code&gt;. Must specify the exact block number and array index. No batch withdrawal.&lt;/li&gt;
&lt;li&gt;Voters on the same candidate must independently call &lt;code&gt;unvote()&lt;/code&gt; → their stake is released after &lt;code&gt;block.number + 432,000&lt;/code&gt; (~12 days actual).&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;
  
  
  Key Limitations
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Block-count based delays&lt;/strong&gt;, not timestamp-based. The effective wait drifts with block time fluctuations. At the recent 90-day average of 2.83s/block, the owner delay stretches to &lt;strong&gt;~42 days&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No parameter governance.&lt;/strong&gt; &lt;code&gt;candidateWithdrawDelay&lt;/code&gt; and &lt;code&gt;voterWithdrawDelay&lt;/code&gt; are constructor-set with no admin function to adjust them.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;maxValidatorNumber&lt;/code&gt; is stale.&lt;/strong&gt; Contract says 18, consensus layer uses 108. The parameter serves no active purpose.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;ownerCount&lt;/code&gt; only increments.&lt;/strong&gt; &lt;code&gt;resign()&lt;/code&gt; does not decrement &lt;code&gt;ownerCount&lt;/code&gt;, meaning it includes all historical owners. This inflates the denominator in any governance calculation that uses it.&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;
  
  
  The Three Scenarios
&lt;/h2&gt;
&lt;h3&gt;
  
  
  Scenario A: Three-Tier Exit Queue (Simple &amp;amp; Predictable)
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Concept:&lt;/strong&gt; The withdrawal lock duration depends on how many masternodes are &lt;strong&gt;currently pending withdrawal&lt;/strong&gt; at the time you resign. Three tiers create a clear incentive structure: exits are fast when the queue is light, moderate at normal load, and fall back to the full 30 days only under heavy exit pressure.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Queue depth (pending withdrawals)&lt;/th&gt;
&lt;th&gt;Lock duration&lt;/th&gt;
&lt;th&gt;Rationale&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;&amp;lt; 5 nodes&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;3 days&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Low pressure, network is healthy, fast exits are safe&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;5 - 10 nodes&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;14 days&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Moderate pressure, allow exits but with a buffer&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;&amp;gt; 10 nodes&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;30 days&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;High pressure, full lock to protect network stability&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Value&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Queue model&lt;/td&gt;
&lt;td&gt;Real-time count of pending withdrawals&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Tier boundaries&lt;/td&gt;
&lt;td&gt;5 and 10 (tunable via governance)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Lock assignment&lt;/td&gt;
&lt;td&gt;Snapshot at time of &lt;code&gt;resign()&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;How it works:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Validator calls &lt;code&gt;resign()&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Contract reads &lt;code&gt;pendingWithdrawalCount&lt;/code&gt; (number of validators currently in the withdrawal pipeline).&lt;/li&gt;
&lt;li&gt;If &amp;lt; 5 → assign &lt;strong&gt;3-day&lt;/strong&gt; lock.&lt;/li&gt;
&lt;li&gt;If 5-10 → assign &lt;strong&gt;14-day&lt;/strong&gt; lock.&lt;/li&gt;
&lt;li&gt;If &amp;gt; 10 → assign &lt;strong&gt;30-day&lt;/strong&gt; lock.&lt;/li&gt;
&lt;li&gt;Withdraw after lock expires (unchanged).&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Why liquid staking loves this:&lt;/strong&gt; Under normal network conditions, the exit queue rarely has more than a handful of nodes pending at once. A liquid staking protocol operating 20 masternodes could rotate nodes with just a 3-day turnaround, small enough to serve redemptions from a thin buffer without sacrificing yield. When the queue gets crowded, the longer delays kick in automatically, giving the protocol a clear signal to pause redemptions or route to secondary markets.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Trade-offs:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Simple to implement and reason about, just two &lt;code&gt;if&lt;/code&gt; checks.&lt;/li&gt;
&lt;li&gt;Tier boundaries (5 / 10) need tuning based on network size; could be made governance-adjustable.&lt;/li&gt;
&lt;li&gt;Lock is fixed at resign time, so a validator who resigns at queue depth 4 gets 3 days even if 20 more resign in the next block.&lt;/li&gt;
&lt;/ul&gt;


&lt;h3&gt;
  
  
  Scenario B: Continuous Dynamic Duration Based on Queue Depth (Polkadot-Inspired)
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Concept:&lt;/strong&gt; Instead of hard tiers, the lock duration scales &lt;strong&gt;smoothly&lt;/strong&gt; between a floor and ceiling based on the number of masternodes currently pending withdrawal. Below 5 nodes the lock approaches its minimum; above 10 it ramps toward the maximum; and it caps at 30 days.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Value&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Minimum lock (0 nodes pending)&lt;/td&gt;
&lt;td&gt;2 days&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Maximum lock (≥ 10 nodes pending)&lt;/td&gt;
&lt;td&gt;30 days&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Fast zone&lt;/td&gt;
&lt;td&gt;&amp;lt; 5 nodes pending → 2-7 days&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Transition zone&lt;/td&gt;
&lt;td&gt;5-10 nodes pending → 7-30 days&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Scaling curve&lt;/td&gt;
&lt;td&gt;Linear between breakpoints (or sigmoid for smoother UX)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Formula:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;if pendingNodes &amp;lt; 5:
    lockDays = 2 + (pendingNodes * 1)            // 2d → 6d
else if pendingNodes &amp;lt;= 10:
    lockDays = 7 + (pendingNodes - 5) * 4.6      // 7d → 30d
else:
    lockDays = 30                                  // hard cap
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;How it works:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Validator calls &lt;code&gt;resign()&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Contract reads &lt;code&gt;pendingWithdrawalCount&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Lock duration is computed from the formula above.&lt;/li&gt;
&lt;li&gt;Assign &lt;code&gt;lockDuration&lt;/code&gt; to this withdrawal entry.&lt;/li&gt;
&lt;li&gt;Withdraw after lock expires (unchanged).&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Example at current network size (~108 active masternodes):&lt;/strong&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Nodes currently pending withdrawal&lt;/th&gt;
&lt;th&gt;Lock duration&lt;/th&gt;
&lt;th&gt;Zone&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;2 days&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Fast&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;3 days&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Fast&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;4 days&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Fast&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;6 days&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Fast&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;5&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;7 days&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Transition&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;7&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;16 days&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Transition&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;30 days&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Cap&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;15&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;30 days&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Cap&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Why liquid staking loves this:&lt;/strong&gt; In the common case (1-3 nodes cycling out), the lock is &lt;strong&gt;2-5 days&lt;/strong&gt;. A liquid staking protocol can keep a minimal reserve buffer and serve redemptions almost in real-time. The smooth curve also means there's no "cliff" at a tier boundary. Protocols can forecast lock times with a simple view function call before deciding whether to initiate a withdrawal.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Trade-offs:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Slightly more complex than tiered (requires on-chain math), but still a single storage read + arithmetic.&lt;/li&gt;
&lt;li&gt;Lock duration isn't known until the moment of resignation (though a &lt;code&gt;previewLockDuration()&lt;/code&gt; view function makes this transparent).&lt;/li&gt;
&lt;li&gt;Elegant security guarantee: if many nodes rush to exit, the lock automatically stretches to 30 days, protecting the network without any governance intervention.&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  Scenario C: Adaptive Churn Limit with FIFO Queue (Ethereum-Inspired)
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Concept:&lt;/strong&gt; Validators enter a FIFO exit queue on &lt;code&gt;resign()&lt;/code&gt;. The network processes exits at each epoch boundary, but the &lt;strong&gt;processing speed adapts&lt;/strong&gt; based on queue depth: fast when the queue is short, throttled when it's deep.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Queue depth&lt;/th&gt;
&lt;th&gt;Exits processed per epoch&lt;/th&gt;
&lt;th&gt;Post-queue lock&lt;/th&gt;
&lt;th&gt;Effective behavior&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;&amp;lt; 5 nodes&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;5 per epoch&lt;/strong&gt; (drain immediately)&lt;/td&gt;
&lt;td&gt;48 hours&lt;/td&gt;
&lt;td&gt;Near-instant: queue clears in one epoch&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;5 - 10 nodes&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;2 per epoch&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;48 hours&lt;/td&gt;
&lt;td&gt;Moderate: queue drains over several epochs&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;&amp;gt; 10 nodes&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;1 per epoch&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;7 days&lt;/td&gt;
&lt;td&gt;Slow: deliberate pacing + extended lock&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Parameter&lt;/th&gt;
&lt;th&gt;Value&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Queue model&lt;/td&gt;
&lt;td&gt;FIFO, processed at epoch boundary&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Epoch duration&lt;/td&gt;
&lt;td&gt;900 blocks (~30 min at 2s blocks)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Churn rate adapts every&lt;/td&gt;
&lt;td&gt;Epoch (re-evaluated based on current queue depth)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;How it works:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Validator calls &lt;code&gt;resign()&lt;/code&gt; → enters the exit queue with a sequence number. Post-lock duration is assigned at this point based on current queue depth.&lt;/li&gt;
&lt;li&gt;At each epoch boundary, the contract reads the current queue depth and processes exits accordingly.&lt;/li&gt;
&lt;li&gt;If queue &amp;lt; 5 → process up to 5 exits this epoch. Post-lock for new resignations: &lt;strong&gt;48 hours&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;If queue 5-10 → process up to 2 exits this epoch. Post-lock for new resignations: &lt;strong&gt;48 hours&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;If queue &amp;gt; 10 → process only 1 exit this epoch. Post-lock for new resignations: &lt;strong&gt;7 days&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Withdraw after post-lock expires.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Note: the churn rate adapts as the queue drains. A queue of 25 doesn't process at 1/epoch the whole time. Once it drops below 10, it speeds up to 2/epoch, then 5/epoch below 5.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example queue scenarios (traced through adaptive processing):&lt;/strong&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Queue depth at resign&lt;/th&gt;
&lt;th&gt;Post-lock (fixed at resign)&lt;/th&gt;
&lt;th&gt;Queue drain breakdown&lt;/th&gt;
&lt;th&gt;Total estimated time&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;0 (you're the only one)&lt;/td&gt;
&lt;td&gt;48h&lt;/td&gt;
&lt;td&gt;1 epoch (~30min)&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;~2 days&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;3 (light traffic)&lt;/td&gt;
&lt;td&gt;48h&lt;/td&gt;
&lt;td&gt;1 epoch, all 4 clear at 5/epoch&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;~2 days&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;7 (moderate)&lt;/td&gt;
&lt;td&gt;48h&lt;/td&gt;
&lt;td&gt;3 epochs at 2/epoch, then 1 at 5/epoch = 4 epochs (~2h)&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;~2 days&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;12 (heavy)&lt;/td&gt;
&lt;td&gt;7 days&lt;/td&gt;
&lt;td&gt;3 at 1/epoch → 3 at 2/epoch → 1 at 5/epoch = 7 epochs (~3.5h)&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;~7 days&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;25 (extreme)&lt;/td&gt;
&lt;td&gt;7 days&lt;/td&gt;
&lt;td&gt;16 at 1/epoch → 3 at 2/epoch → 1 at 5/epoch = 20 epochs (~10h)&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;~7.5 days&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Why liquid staking loves this:&lt;/strong&gt; Under normal conditions (1-4 nodes exiting), the entire queue flushes in a single epoch and exit time is just &lt;strong&gt;2 days&lt;/strong&gt;. The protocol can predict its exact queue position and calculate withdrawal timing deterministically. When exit pressure rises, the system automatically shifts to a more conservative pace, giving protocols a clear signal to adjust their redemption flow.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Trade-offs:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Most complex to implement (requires epoch hooks or a keeper-based trigger + adaptive rate logic).&lt;/li&gt;
&lt;li&gt;The dual lever (churn rate + post-lock duration) gives fine-grained control but adds cognitive overhead.&lt;/li&gt;
&lt;li&gt;When the queue is deep (&amp;gt; 10), exit times are still dramatically better than the current 30 days, but the 7-day post-lock provides a meaningful security buffer.&lt;/li&gt;
&lt;li&gt;Churn rate boundaries (5 / 10) should be governance-adjustable as the network grows.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Additional Upgrade Opportunities
&lt;/h2&gt;

&lt;p&gt;Since we'd be touching the contract anyway, it would be worth bundling other improvements:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Compiler upgrade&lt;/strong&gt; to Solidity ≥0.8.x (built-in overflow protection, custom errors, gas optimizations)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Array compaction&lt;/strong&gt; for the candidates list (eliminate zeroed entries, reduce gas for enumeration)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Event coverage&lt;/strong&gt; for all state-changing operations (currently some paths emit no events)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;ownerCount bookkeeping&lt;/strong&gt; to accurately reflect the active validator set&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Withdrawal batching.&lt;/strong&gt; Currently &lt;code&gt;withdraw(blockNumber, index)&lt;/code&gt; requires one call per entry; a &lt;code&gt;withdrawAll()&lt;/code&gt; that claims all mature entries in a single transaction would drastically improve UX&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;View functions&lt;/strong&gt; for queue position, estimated lock duration, pending withdrawal count, and total exiting stake&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Timestamp-based delays&lt;/strong&gt; instead of block-count, decoupling the lock period from block time fluctuations&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;KYC flow improvements&lt;/strong&gt; with proper access control and state management&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;SafeMath / overflow protection&lt;/strong&gt; for all arithmetic (native with 0.8.x)&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Comparison Matrix
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Feature&lt;/th&gt;
&lt;th&gt;Current XDC&lt;/th&gt;
&lt;th&gt;Scenario A (3-Tier)&lt;/th&gt;
&lt;th&gt;Scenario B (Dynamic Curve)&lt;/th&gt;
&lt;th&gt;Scenario C (Adaptive Churn)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Min unlock (&amp;lt; 5 pending)&lt;/td&gt;
&lt;td&gt;~35d actual (1.296M blocks)&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;3 days&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;2 days&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;~2 days&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Moderate unlock (5-10 pending)&lt;/td&gt;
&lt;td&gt;~35d actual (1.296M blocks)&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;14 days&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;7-30 days&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;~2 days&lt;/strong&gt; (queue wait + 48h)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Max unlock (&amp;gt; 10 pending)&lt;/td&gt;
&lt;td&gt;~35d actual (1.296M blocks)&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;30 days&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;30 days&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;~7-7.5 days&lt;/strong&gt; (queue wait + 7d)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Delay type&lt;/td&gt;
&lt;td&gt;Block-count (drifts with block time)&lt;/td&gt;
&lt;td&gt;Timestamp-based&lt;/td&gt;
&lt;td&gt;Timestamp-based&lt;/td&gt;
&lt;td&gt;Epoch + timestamp&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Voter delay&lt;/td&gt;
&lt;td&gt;~12d actual (432K blocks)&lt;/td&gt;
&lt;td&gt;Unified with owner&lt;/td&gt;
&lt;td&gt;Unified with owner&lt;/td&gt;
&lt;td&gt;Unified with owner&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Batch withdrawal&lt;/td&gt;
&lt;td&gt;No (per-entry)&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Predictability&lt;/td&gt;
&lt;td&gt;Fixed&lt;/td&gt;
&lt;td&gt;Very high (3 tiers)&lt;/td&gt;
&lt;td&gt;Medium (continuous)&lt;/td&gt;
&lt;td&gt;High (position-based)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Liquid staking friendly&lt;/td&gt;
&lt;td&gt;Poor&lt;/td&gt;
&lt;td&gt;Good&lt;/td&gt;
&lt;td&gt;Very good&lt;/td&gt;
&lt;td&gt;Excellent&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Implementation complexity&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;Low&lt;/td&gt;
&lt;td&gt;Low-Medium&lt;/td&gt;
&lt;td&gt;Medium-High&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Security under mass exit&lt;/td&gt;
&lt;td&gt;Same 30d always&lt;/td&gt;
&lt;td&gt;Full 30d fallback&lt;/td&gt;
&lt;td&gt;Scales to 30d automatically&lt;/td&gt;
&lt;td&gt;Throttled churn + 7d post-lock&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Consensus layer changes&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;Possibly (epoch hooks)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;




&lt;h2&gt;
  
  
  What I'd Like to Hear From the Community
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Which scenario resonates most&lt;/strong&gt; with how you think XDC should evolve?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Are there hybrid approaches?&lt;/strong&gt; For example, Scenario B (dynamic duration) + Scenario C (churn limit) combined.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;What's the right security floor?&lt;/strong&gt; Is 48 hours too aggressive for the minimum lock? Should it be 7 days?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Upgrade mechanism.&lt;/strong&gt; Should this be a full contract migration with state transfer, or an upgradeable proxy pattern going forward?&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Backwards compatibility.&lt;/strong&gt; How do we handle existing stakers and pending withdrawals during migration?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The 30-day fixed lock was a reasonable default at launch, but the XDC ecosystem has outgrown it. Liquid staking, institutional staking services, and DeFi protocols all need a more dynamic validator lifecycle. Let's design it together.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;References:&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/XinFinOrg/XDPoSChain/blob/master/contracts/validator/contract/XDCValidator.sol"&gt;XDCValidator.sol (current)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.xdc.dev/mrblockchain22/unstaking-withdrawal-process-xdc-20-25"&gt;XDC 2.0 Unstaking &amp;amp; Withdrawal Process&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://eips.ethereum.org/EIPS/eip-7922"&gt;Ethereum EIP-7922: Dynamic exit queue rate limit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://polkadot-fellows.github.io/RFCs/approved/0097-unbonding_queue.html"&gt;Polkadot RFC-0097: Unbonding Queue&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.avax.network/docs/acps/273-reduce-minimum-staking-duration"&gt;Avalanche ACP-273: Reduce Minimum Staking Duration&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
    </item>
    <item>
      <title>Enhancing the XDCValidator Smart Contract: Introducing Smart Contract Ownership, Ownership Transfers, and Automated Rewards</title>
      <dc:creator>Arturo</dc:creator>
      <pubDate>Sun, 05 Jan 2025 05:33:07 +0000</pubDate>
      <link>https://www.xdc.dev/xcantera/enhancing-the-xdcvalidator-smart-contract-introducing-smart-contract-ownership-ownership-transfers-and-automated-rewards-p9i</link>
      <guid>https://www.xdc.dev/xcantera/enhancing-the-xdcvalidator-smart-contract-introducing-smart-contract-ownership-ownership-transfers-and-automated-rewards-p9i</guid>
      <description>&lt;p&gt;&lt;a href="https://forum.xinfin.org/t/proposal-for-enhancements-to-the-xdcvalidator-smart-contract/518"&gt;https://forum.xinfin.org/t/proposal-for-enhancements-to-the-xdcvalidator-smart-contract/518&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>XDC Liquid Staking</title>
      <dc:creator>Arturo</dc:creator>
      <pubDate>Sun, 22 Dec 2024 12:13:10 +0000</pubDate>
      <link>https://www.xdc.dev/xcantera/xdc-liquid-staking-4dc5</link>
      <guid>https://www.xdc.dev/xcantera/xdc-liquid-staking-4dc5</guid>
      <description>&lt;p&gt;Learn about the &lt;a href="https://docs.primestaking.xyz/xdc-staking/xdc-nfts-staking-system-vaults"&gt;XDC Liquid Staking System&lt;/a&gt;:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Stake Your $XDC. Earn $XDC from Masternodes!&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The XDC Liquid Staking System offers an accessible way for XDC holders to stake their tokens and earn rewards from masternodes without the usual barriers, such as high capital requirements, KYC restrictions, or hosting expenses.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How It Works&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1- Stake and Receive Liquid Tokens&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When you stake 1 $XDC in the system, you receive 1 $pstXDC (Proof-of-Stake XDC) in return. The exchange rate is always 1 $XDC = 1 $pstXDC.&lt;/p&gt;

&lt;p&gt;$pstXDC represents your staked XDC and can be freely used across the ecosystem.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2- Vault or Masternode Minting&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;To stake, you first mint an XDC Vault or an XDC Masternode through the platform.&lt;/p&gt;

&lt;p&gt;Deposit your $XDC into the Vault or Masternode. Once deposited, $pstXDC is automatically credited to your wallet.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3- Ecosystem Integration&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;$pstXDC can be used in DeFi applications, providing liquidity, earning yield, or for trading, all while your staked $XDC continues to earn rewards from masternodes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Key Features and Benefits&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Access to Masternode Rewards:&lt;br&gt;
By staking through the liquid staking system, users earn rewards generated by XDC masternodes without needing to host or maintain the infrastructure themselves.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;No KYC or High Entry Barriers:&lt;br&gt;
Traditional masternode participation often requires significant capital (e.g., 10M XDC tokens) and compliance with KYC regulations. The liquid staking system eliminates these hurdles, making it accessible for all XDC holders.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Lower Costs:&lt;br&gt;
Hosting expenses are managed at the protocol level, removing the technical and financial burdens on individual users.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Flexibility with $pstXDC:&lt;br&gt;
$pstXDC acts as a liquid staking derivative, allowing holders to retain liquidity while earning staking rewards. This token can be transferred, used in decentralized applications, or redeemed for the original $XDC at any time.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Decentralized Reward Distribution:&lt;br&gt;
Rewards from masternodes are distributed proportionally and transparently to all participants.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The XDC Liquid Staking System simplifies staking, removes barriers, and unlocks the potential of your $XDC while maintaining flexibility and liquidity. Stake today and put your XDC to work!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Two types of liquid staking:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Guides on the following links:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1- XDC Vaults:&lt;/strong&gt; &lt;a href="https://docs.primestaking.xyz/xdc-staking/xdc-nfts-staking-system-vaults/xdc-vaults"&gt;Link&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;XDC Vaults are integral to the XDC Liquid Staking System, providing a secure and efficient mechanism for staking $XDC tokens and receiving staking derivatives ($pstXDC). These vaults simplify the staking process, remove traditional barriers, and unlock new opportunities for XDC holders.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What Are XDC Vaults?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;XDC Vaults are on-chain smart contract-based storage solutions where users deposit their $XDC tokens for staking. Upon depositing, users receive $pstXDC, a liquid staking derivative representing their staked $XDC.&lt;/p&gt;

&lt;p&gt;More in the link above...&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2- XDC Masternode Vaults:&lt;/strong&gt; &lt;a href="https://docs.primestaking.xyz/xdc-staking/xdc-nfts-staking-system-vaults/xdc-masternode-vaults"&gt;Link&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;XDC Masternode Vaults are specialized staking Vaults designed for users with a minimum of 10 million $XDC tokens who wish to operate an XDC masternode. These Vaults simplify the process of running a masternode, managing rewards, and covering operational expenses, while also providing liquidity through $pstXDC tokens.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What Are XDC Masternode Vaults?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;XDC Masternode Vaults function similarly to standard XDC Vaults but are exclusively for users with 10M $XDC required to mint the Vault. These Vaults allow users to stake $XDC, operate a masternode, and earn 7.65% APY from the masternode rewards. Additionally, when staking 10M $XDC, users receive 10M $pstXDC in their wallet, enabling liquidity through liquid staking derivatives.&lt;/p&gt;

&lt;p&gt;More in the link above...&lt;/p&gt;

</description>
    </item>
    <item>
      <title>[Informative] XDC Docs Update</title>
      <dc:creator>Arturo</dc:creator>
      <pubDate>Thu, 11 Jul 2024 15:45:29 +0000</pubDate>
      <link>https://www.xdc.dev/xcantera/xdc-docs-update-2noa</link>
      <guid>https://www.xdc.dev/xcantera/xdc-docs-update-2noa</guid>
      <description>&lt;p&gt;Hi Team,&lt;/p&gt;

&lt;p&gt;I hope this message finds you well.&lt;/p&gt;

&lt;p&gt;I’ve spent some time reviewing our current documentation, specifically:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://docs.xdc.community/"&gt;XDC Community Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.xdc.org/"&gt;XDC Official Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.xinfin.org/"&gt;XinFin Documentation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Frankly, the current state of our documentation gives an impression of an old or abandoned blockchain. This is a significant concern, as our documentation is often the first touchpoint for new developers and users.&lt;/p&gt;

&lt;p&gt;To get a sense of what top-tier documentation looks like, I explored the documentation of some of our competitors:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://docs.polygon.technology/"&gt;Polygon Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.bnbchain.org/"&gt;BNB Chain Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.avax.network/"&gt;Avalanche Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.arbitrum.io/"&gt;Arbitrum Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://solana.com/docs"&gt;Solana Documentation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These platforms showcase up-to-date information, an easy-to-explore interface, and valuable resources that enhance user experience.&lt;/p&gt;

&lt;p&gt;To be in the top 1, we must start taking care of the basics. Updating our documentation to match or exceed these standards is a critical step.&lt;/p&gt;

&lt;p&gt;Let’s discuss and plan the necessary updates to make our documentation not only current but also highly user-friendly and informative.&lt;/p&gt;

&lt;p&gt;Best regards.&lt;/p&gt;

</description>
      <category>discussion</category>
    </item>
    <item>
      <title>XDC.DEV Platform Request</title>
      <dc:creator>Arturo</dc:creator>
      <pubDate>Thu, 11 Jul 2024 15:38:28 +0000</pubDate>
      <link>https://www.xdc.dev/xcantera/xdcdev-platform-request-44fk</link>
      <guid>https://www.xdc.dev/xcantera/xdcdev-platform-request-44fk</guid>
      <description>&lt;p&gt;Hey everyone,&lt;/p&gt;

&lt;p&gt;I hope you're all doing well! I wanted to share an idea that's been on my mind lately. What do you all think about moving our XDC.dev community to the &lt;a href="https://www.discourse.org/"&gt;Discourse&lt;/a&gt; platform? I've been exploring it, and it seems like it could be a great fit for us. Here’s why:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why Discourse?&lt;/strong&gt;&lt;br&gt;
&lt;strong&gt;Better User Experience:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Intuitive Interface: Discourse has a super clean and user-friendly interface that’s easy to navigate.&lt;/p&gt;

&lt;p&gt;Mobile-Friendly: It works great on mobile devices, so we can stay connected even when we’re not at our desks.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Awesome Community Features:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Advanced Moderation: It comes with powerful tools to help keep our discussions organized and spam-free.&lt;br&gt;
Custom Categories and Tags: We can easily organize topics, making it simpler to find what we’re looking for.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Boosted Engagement:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Real-Time Notifications: Get instant updates on discussions you’re interested in.&lt;/p&gt;

&lt;p&gt;Interactive Conversations: Features like @mentions, likes, and rich text formatting make discussions more engaging.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Top-Notch Security and Performance:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Secure: Discourse takes security seriously, so our data will be safe.&lt;/p&gt;

&lt;p&gt;Scalable: It can handle a lot of traffic, so it’ll run smoothly even as our community grows.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Benefits of Making the Switch&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Simpler Communication: The threaded discussions and real-time notifications make it easier to follow and participate in conversations.&lt;/p&gt;

&lt;p&gt;Better Community Management: The advanced tools and analytics will help our moderators keep things running smoothly.&lt;/p&gt;

&lt;p&gt;Seamless Integration: Discourse supports integration with the tools we’re already using, so the transition should be pretty smooth.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What’s Next?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Share Your Thoughts: I’d love to hear what you all think about this idea. Please drop your thoughts in the comments below.&lt;/p&gt;

&lt;p&gt;Plan the Move: Based on everyone’s feedback, we can come up with a plan to transition to Discourse without causing too much disruption.&lt;/p&gt;

&lt;p&gt;Make It Happen: We’ll set up a timeline for the move and make sure there’s plenty of support to answer any questions.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Wrap-Up&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I really think moving to Discourse could be a big win for our community. It promises a better experience for everyone and helps us stay connected and engaged. Your feedback is super important, so please let me know what you think!&lt;/p&gt;

&lt;p&gt;Looking forward to hearing your thoughts!&lt;/p&gt;

</description>
    </item>
    <item>
      <title>BlockChain Explorers on XinFin Network [BlocksScan]</title>
      <dc:creator>Arturo</dc:creator>
      <pubDate>Tue, 22 Aug 2023 08:56:38 +0000</pubDate>
      <link>https://www.xdc.dev/xcantera/blockchain-explorers-on-xinfin-network-blocksscan-3g9e</link>
      <guid>https://www.xdc.dev/xcantera/blockchain-explorers-on-xinfin-network-blocksscan-3g9e</guid>
      <description>&lt;p&gt;BlocksScan XinFin Network&lt;/p&gt;

&lt;p&gt;XinFin Network, as a public and open-source ledger, has the ability to provide information and data to network users.&lt;/p&gt;

&lt;p&gt;One thing is to receive information in an organized and readable manner, and another is for it to appear all scattered.&lt;/p&gt;

&lt;p&gt;It's of no use if I give you a dictionary that's all disorganized; it would be impossible to ﬁnd a single word.&lt;br&gt;
Or if they provide you with a dictionary that hasn't included all the words it should.&lt;/p&gt;

&lt;p&gt;The idea of this document is to make a portion of the information ﬂowing within the network visible, which currently the average user would only ﬁnd through the blockchain scanner.&lt;br&gt;
Through this, we perform a comparison with another explorer, where these comparisons will reﬂect suggestions to add to BlocksScan.&lt;/p&gt;

&lt;p&gt;For this, we take Etherscan as our reference: &lt;a href="https://etherscan.io/"&gt;https://etherscan.io/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Main Page&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Seeker&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It would be nice to add the dropdown to perform a more individualized ﬁlter.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.xdc.dev/images/cPzPItUU9h3Jy10B_hOtuYMIGzx-bMDzp8uyvQT0qw4/w:880/mb:500000/ar:1/aHR0cHM6Ly93d3cu/eGRjLmRldi91cGxv/YWRzL2FydGljbGVz/L3E3OGdvOTJhaDdo/bHpoenVtZWIxLnBu/Zw" class="article-body-image-wrapper"&gt;&lt;img src="https://www.xdc.dev/images/cPzPItUU9h3Jy10B_hOtuYMIGzx-bMDzp8uyvQT0qw4/w:880/mb:500000/ar:1/aHR0cHM6Ly93d3cu/eGRjLmRldi91cGxv/YWRzL2FydGljbGVz/L3E3OGdvOTJhaDdo/bHpoenVtZWIxLnBu/Zw" alt="Image description" width="779" height="113"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;(Remove it from BlocksScan Explorer; It is as if my web page says Wordpress.)&lt;br&gt;
&lt;a href="https://www.xdc.dev/images/R251XWp3FZvWobOrLYdak7Q6NdHrVLGeIJvdAV2Rk0g/w:880/mb:500000/ar:1/aHR0cHM6Ly93d3cu/eGRjLmRldi91cGxv/YWRzL2FydGljbGVz/LzZuOWQ4eWk1MWFy/bW5heTZzb2VvLnBu/Zw" class="article-body-image-wrapper"&gt;&lt;img src="https://www.xdc.dev/images/R251XWp3FZvWobOrLYdak7Q6NdHrVLGeIJvdAV2Rk0g/w:880/mb:500000/ar:1/aHR0cHM6Ly93d3cu/eGRjLmRldi91cGxv/YWRzL2FydGljbGVz/LzZuOWQ4eWk1MWFy/bW5heTZzb2VvLnBu/Zw" alt="Image description" width="828" height="225"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Toolbar&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Etherscan offers a vast array of sections for searching speciﬁc information about concrete data. We can observe this simply by looking at the section bar on the homepage:&lt;br&gt;
&lt;a href="https://www.xdc.dev/images/eC802boeE9s8UUy4HwsJxiaDQ5HDyqlYkBkDHVYec3Q/w:880/mb:500000/ar:1/aHR0cHM6Ly93d3cu/eGRjLmRldi91cGxv/YWRzL2FydGljbGVz/LzN3OHh3NndmdXUw/bzByM2I0aXo5LnBu/Zw" class="article-body-image-wrapper"&gt;&lt;img src="https://www.xdc.dev/images/eC802boeE9s8UUy4HwsJxiaDQ5HDyqlYkBkDHVYec3Q/w:880/mb:500000/ar:1/aHR0cHM6Ly93d3cu/eGRjLmRldi91cGxv/YWRzL2FydGljbGVz/LzN3OHh3NndmdXUw/bzByM2I0aXo5LnBu/Zw" alt="Image description" width="775" height="66"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Providing a practical and user-friendly interface to both regular users and developers seeking information while conducting relevant tests on their code is crucial. An example of this could be the dropdown menu under "Developers" or the one under the "More" tab.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.xdc.dev/images/MH-BiSHuspvHljm4rReHIJkHCbPavDCi0x9yQuJKdtE/w:880/mb:500000/ar:1/aHR0cHM6Ly93d3cu/eGRjLmRldi91cGxv/YWRzL2FydGljbGVz/L3dtMmwxM2thOGl2/bzA2bnljb3VrLnBu/Zw" class="article-body-image-wrapper"&gt;&lt;img src="https://www.xdc.dev/images/MH-BiSHuspvHljm4rReHIJkHCbPavDCi0x9yQuJKdtE/w:880/mb:500000/ar:1/aHR0cHM6Ly93d3cu/eGRjLmRldi91cGxv/YWRzL2FydGljbGVz/L3dtMmwxM2thOGl2/bzA2bnljb3VrLnBu/Zw" alt="Image description" width="218" height="442"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.xdc.dev/images/uVQTc-mV9-528vSec-_Dj9BwDM981ELP87jdkhpTcv8/w:880/mb:500000/ar:1/aHR0cHM6Ly93d3cu/eGRjLmRldi91cGxv/YWRzL2FydGljbGVz/L3Y2b21qNDByMGwy/dm82cjdydnZvLnBu/Zw" class="article-body-image-wrapper"&gt;&lt;img src="https://www.xdc.dev/images/uVQTc-mV9-528vSec-_Dj9BwDM981ELP87jdkhpTcv8/w:880/mb:500000/ar:1/aHR0cHM6Ly93d3cu/eGRjLmRldi91cGxv/YWRzL2FydGljbGVz/L3Y2b21qNDByMGwy/dm82cjdydnZvLnBu/Zw" alt="Image description" width="880" height="209"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  APIS&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Decent documentation is necessary. The speciﬁcations of the APIs should be included, for instance: a developer needs to know how many requests they can make if there is a maximum limit.&lt;br&gt;
There should be a Gitbook accessible directly from the blockchain explorer. It should contain something like this:&lt;br&gt;
&lt;a href="https://docs.xdc.community/"&gt;https://docs.xdc.community/&lt;/a&gt;&lt;br&gt;
&lt;a href="https://docs.xdc.org/build-with-xdc/deploy-smart-contracts-on-xdc-network"&gt;https://docs.xdc.org/build-with-xdc/deploy-smart-contracts-on-xdc-network&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If we observe the transition that other major companies are undergoing, we realize that they are moving away from using Swagger. Moreover, for new developers, it can present certain complexities.&lt;/p&gt;

&lt;p&gt;The next step to professionalize the APIs in BlocksScan would be to create documents similar to what other companies are doing:&lt;/p&gt;

&lt;p&gt;-Alchemy:&lt;br&gt;
&lt;a href="https://docs.alchemy.com/reference/api-overview"&gt;https://docs.alchemy.com/reference/api-overview&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;-Etherscan or Moralis would be good examples too.&lt;/p&gt;

&lt;p&gt;XinFin Network is currently quite substantial and is increasingly catching the attention of users due to the rise in Market Cap and the visibility it's gaining at in-person Blockchain events and on social media platforms. Swagger is becoming inadequate for its current scale.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Txns
When we access a transaction (Txns), it takes a long time to display the information related to that transaction. Is there a lack of data indexing?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;On the other hand, if we access the TxHash of a transaction on Etherscan and go to "Logs," we encounter two things:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  A visually appealing interface&lt;/li&gt;
&lt;li&gt;  The ability to convert hexadecimal values to decoded ones
&lt;img src="https://www.xdc.dev/images/DgB6b8TWEO0jqO2JNq9D1yaykU8KgSvMJPWyy1XT37w/w:880/mb:500000/ar:1/aHR0cHM6Ly93d3cu/eGRjLmRldi91cGxv/YWRzL2FydGljbGVz/LzRnZTE2bGZyM3Jr/b2l6MzZ0enJpLnBu/Zw" alt="Image description" width="880" height="306"&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;BlocksScan appearance:&lt;br&gt;
&lt;a href="https://www.xdc.dev/images/GXt5oF4DFNXOaRuCEFWwPcPX6lN_CzpeIlsDDpPSCMY/w:880/mb:500000/ar:1/aHR0cHM6Ly93d3cu/eGRjLmRldi91cGxv/YWRzL2FydGljbGVz/LzdzcGhzMXhjY3o0/b2kzbnVqZHU4LnBu/Zw" class="article-body-image-wrapper"&gt;&lt;img src="https://www.xdc.dev/images/GXt5oF4DFNXOaRuCEFWwPcPX6lN_CzpeIlsDDpPSCMY/w:880/mb:500000/ar:1/aHR0cHM6Ly93d3cu/eGRjLmRldi91cGxv/YWRzL2FydGljbGVz/LzdzcGhzMXhjY3o0/b2kzbnVqZHU4LnBu/Zw" alt="Image description" width="880" height="604"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Data connection
Data connection with one-page web links that display much more information about that speciﬁc data.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If we click on Gwei:&lt;br&gt;
&lt;a href="https://www.xdc.dev/images/BypIZZzdxEhwN9OIbVFfJxZSw7h0LlTm3wGhkMO3BLQ/w:880/mb:500000/ar:1/aHR0cHM6Ly93d3cu/eGRjLmRldi91cGxv/YWRzL2FydGljbGVz/L2d6dmtmZnVubGgw/Y3U3N2I0Nms4LnBu/Zw" class="article-body-image-wrapper"&gt;&lt;img src="https://www.xdc.dev/images/BypIZZzdxEhwN9OIbVFfJxZSw7h0LlTm3wGhkMO3BLQ/w:880/mb:500000/ar:1/aHR0cHM6Ly93d3cu/eGRjLmRldi91cGxv/YWRzL2FydGljbGVz/L2d6dmtmZnVubGgw/Y3U3N2I0Nms4LnBu/Zw" alt="Image description" width="464" height="107"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Leads us to: &lt;a href="https://etherscan.io/gastracker"&gt;https://etherscan.io/gastracker&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Furthermore, GAS is a piece of data that is not currently tracked on BlocksScan, and it's very important.&lt;/p&gt;

&lt;p&gt;It indicates the price we will pay for using the network. In other words, it tells us how much XDC we will use to carry out transactions. Thanks to this, we can determine the minimum we need to pay in fees.&lt;/p&gt;

&lt;p&gt;By expressing it in gas units relative to $, we can understand how much we can pay to prioritize our transaction and have it executed faster.&lt;/p&gt;

&lt;p&gt;There are other examples:&lt;/p&gt;

&lt;p&gt;If we click on ‘’Market cap’’:&lt;br&gt;
&lt;a href="https://www.xdc.dev/images/JnJI9wYBMXdtLaIbexC19sTZkZN58eqUmZ2zy-JAGX0/w:880/mb:500000/ar:1/aHR0cHM6Ly93d3cu/eGRjLmRldi91cGxv/YWRzL2FydGljbGVz/LzNyYnBjNXZjb2U2/aHcwNGFvZWcxLnBu/Zw" class="article-body-image-wrapper"&gt;&lt;img src="https://www.xdc.dev/images/JnJI9wYBMXdtLaIbexC19sTZkZN58eqUmZ2zy-JAGX0/w:880/mb:500000/ar:1/aHR0cHM6Ly93d3cu/eGRjLmRldi91cGxv/YWRzL2FydGljbGVz/LzNyYnBjNXZjb2U2/aHcwNGFvZWcxLnBu/Zw" alt="Image description" width="294" height="90"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Leads us to: &lt;a href="https://etherscan.io/stat/supply"&gt;https://etherscan.io/stat/supply&lt;/a&gt;&lt;br&gt;
We can view detailed information about the types of supply based on rewards. If we click on:&lt;br&gt;
&lt;a href="https://www.xdc.dev/images/diEBDcy0vg19pD9IzAx0EQman8DH428vxQP7pcBlhos/w:880/mb:500000/ar:1/aHR0cHM6Ly93d3cu/eGRjLmRldi91cGxv/YWRzL2FydGljbGVz/L3JjeHI2dTZrMGF0/M2Jsbm5ueWFwLnBu/Zw" class="article-body-image-wrapper"&gt;&lt;img src="https://www.xdc.dev/images/diEBDcy0vg19pD9IzAx0EQman8DH428vxQP7pcBlhos/w:880/mb:500000/ar:1/aHR0cHM6Ly93d3cu/eGRjLmRldi91cGxv/YWRzL2FydGljbGVz/L3JjeHI2dTZrMGF0/M2Jsbm5ueWFwLnBu/Zw" alt="Image description" width="327" height="103"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Leads us to: &lt;a href="https://etherscan.io/chart/etherprice"&gt;https://etherscan.io/chart/etherprice&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Latest Blocks&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;XinFin:&lt;br&gt;
&lt;a href="https://www.xdc.dev/images/0CxMcfc5MDzVIXS-SGkXAN26Qt-U65sjD1lQsky1IEI/w:880/mb:500000/ar:1/aHR0cHM6Ly93d3cu/eGRjLmRldi91cGxv/YWRzL2FydGljbGVz/L2RvaGpzdTd2NWN4/eTAwdWp6d3N5LnBu/Zw" class="article-body-image-wrapper"&gt;&lt;img src="https://www.xdc.dev/images/0CxMcfc5MDzVIXS-SGkXAN26Qt-U65sjD1lQsky1IEI/w:880/mb:500000/ar:1/aHR0cHM6Ly93d3cu/eGRjLmRldi91cGxv/YWRzL2FydGljbGVz/L2RvaGpzdTd2NWN4/eTAwdWp6d3N5LnBu/Zw" alt="Image description" width="554" height="431"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Etherscan:&lt;br&gt;
&lt;a href="https://www.xdc.dev/images/05f2SJ0ortZlgGrLsneLEm9uqpxh5TIgPuKruLJrX04/w:880/mb:500000/ar:1/aHR0cHM6Ly93d3cu/eGRjLmRldi91cGxv/YWRzL2FydGljbGVz/L21mcmU2MDY1cmxt/cXFzOG8yYjJsLnBu/Zw" class="article-body-image-wrapper"&gt;&lt;img src="https://www.xdc.dev/images/05f2SJ0ortZlgGrLsneLEm9uqpxh5TIgPuKruLJrX04/w:880/mb:500000/ar:1/aHR0cHM6Ly93d3cu/eGRjLmRldi91cGxv/YWRzL2FydGljbGVz/L21mcmU2MDY1cmxt/cXFzOG8yYjJsLnBu/Zw" alt="Image description" width="682" height="597"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If we click on ‘’View all blocks’’:&lt;/p&gt;

&lt;p&gt;XinFin:&lt;br&gt;
&lt;a href="https://www.xdc.dev/images/TAdhOvmmlEl1KeGHm9KQ2Qf9qMGmWy1b-GnNhbFK6cw/w:880/mb:500000/ar:1/aHR0cHM6Ly93d3cu/eGRjLmRldi91cGxv/YWRzL2FydGljbGVz/L2NjNDR1ejFtZGho/ZXBxNnMzcjVqLnBu/Zw" class="article-body-image-wrapper"&gt;&lt;img src="https://www.xdc.dev/images/TAdhOvmmlEl1KeGHm9KQ2Qf9qMGmWy1b-GnNhbFK6cw/w:880/mb:500000/ar:1/aHR0cHM6Ly93d3cu/eGRjLmRldi91cGxv/YWRzL2FydGljbGVz/L2NjNDR1ejFtZGho/ZXBxNnMzcjVqLnBu/Zw" alt="Image description" width="880" height="174"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Etherscan:&lt;br&gt;
&lt;a href="https://www.xdc.dev/images/wbZ32nm1yPzZWzlruNpawYwg-n5L6usCL10qkd5X5AU/w:880/mb:500000/ar:1/aHR0cHM6Ly93d3cu/eGRjLmRldi91cGxv/YWRzL2FydGljbGVz/L2hhZnIwZXk5ZGZ4/aWZjdnV5cHdqLnBu/Zw" class="article-body-image-wrapper"&gt;&lt;img src="https://www.xdc.dev/images/wbZ32nm1yPzZWzlruNpawYwg-n5L6usCL10qkd5X5AU/w:880/mb:500000/ar:1/aHR0cHM6Ly93d3cu/eGRjLmRldi91cGxv/YWRzL2FydGljbGVz/L2hhZnIwZXk5ZGZ4/aWZjdnV5cHdqLnBu/Zw" alt="Image description" width="880" height="298"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We come across large boxes that provide additional information. Moreover, in the transaction concatenation, we have more columns on etherscan.&lt;/p&gt;

&lt;p&gt;When searching in the explorer for an address:&lt;/p&gt;

&lt;p&gt;-EVM compatible&lt;/p&gt;

&lt;p&gt;Connecting the wallet address with other EVM networks that have balances associated with that address could indeed be an interesting feature.&lt;br&gt;
&lt;a href="https://www.xdc.dev/images/KfFM3OQWPWtKsDzstlqP9tKPMzgr9_NChlBP7dZ5Rpo/w:880/mb:500000/ar:1/aHR0cHM6Ly93d3cu/eGRjLmRldi91cGxv/YWRzL2FydGljbGVz/LzN1bWc2cnRqazY2/aWw1MHoxM25mLnBu/Zw" class="article-body-image-wrapper"&gt;&lt;img src="https://www.xdc.dev/images/KfFM3OQWPWtKsDzstlqP9tKPMzgr9_NChlBP7dZ5Rpo/w:880/mb:500000/ar:1/aHR0cHM6Ly93d3cu/eGRjLmRldi91cGxv/YWRzL2FydGljbGVz/LzN1bWc2cnRqazY2/aWw1MHoxM25mLnBu/Zw" alt="Image description" width="480" height="384"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;-Balance and assets&lt;/p&gt;

&lt;p&gt;In the blockchain, everything is public, including the balance. That's why we can see all the tokens a wallet holds from here.&lt;/p&gt;

&lt;p&gt;This way, if, for instance, I published my address, you could know exactly how much I have down to the last dollar.&lt;/p&gt;

&lt;p&gt;(etherscan)&lt;br&gt;
&lt;a href="https://www.xdc.dev/images/3uHULTljtbEJnclQzBmaULvagumKuSuighNEWUxIRJ0/w:880/mb:500000/ar:1/aHR0cHM6Ly93d3cu/eGRjLmRldi91cGxv/YWRzL2FydGljbGVz/L3g1dG5yYjhtZHRi/Zm51NXAxeGlvLnBu/Zw" class="article-body-image-wrapper"&gt;&lt;img src="https://www.xdc.dev/images/3uHULTljtbEJnclQzBmaULvagumKuSuighNEWUxIRJ0/w:880/mb:500000/ar:1/aHR0cHM6Ly93d3cu/eGRjLmRldi91cGxv/YWRzL2FydGljbGVz/L3g1dG5yYjhtZHRi/Zm51NXAxeGlvLnBu/Zw" alt="Image description" width="464" height="641"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://etherscan.io/address/0xe81e54f36a9e6ee871aa0f2e9991889f7c414bae"&gt;https://etherscan.io/address/0xe81e54f36a9e6ee871aa0f2e9991889f7c414bae&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Right next to the tokens dropdown, there's an icon of a wallet. If we click on it, it takes us to a unique wallet link.&lt;br&gt;
Here, we can see in detail how many cryptocurrencies it holds and the quantity of each of them.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.xdc.dev/images/TnrdKMv1JA4RmklP7i0KDz9HXhqfl7eNIriqnFG-puM/w:880/mb:500000/ar:1/aHR0cHM6Ly93d3cu/eGRjLmRldi91cGxv/YWRzL2FydGljbGVz/LzJtbm1oN3RmNHY3/Y3N6bGJtYXE4LnBu/Zw" class="article-body-image-wrapper"&gt;&lt;img src="https://www.xdc.dev/images/TnrdKMv1JA4RmklP7i0KDz9HXhqfl7eNIriqnFG-puM/w:880/mb:500000/ar:1/aHR0cHM6Ly93d3cu/eGRjLmRldi91cGxv/YWRzL2FydGljbGVz/LzJtbm1oN3RmNHY3/Y3N6bGJtYXE4LnBu/Zw" alt="Image description" width="880" height="367"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://etherscan.io/tokenholdings?a=0xe81e54f36a9e6ee871aa0f2e9991889f7c414bae"&gt;https://etherscan.io/tokenholdings?a=0xe81e54f36a9e6ee871aa0f2e9991889f7c414bae&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;NFTs&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;NFTs are currently one of the major focal points on the XDC network due to Prime Numbers.&lt;/p&gt;

&lt;p&gt;On Etherscan, we have a plethora of information about these tokens:&lt;br&gt;
&lt;a href="https://www.xdc.dev/images/l9QMWw1qLdq3RY2Zkn05jvMTdMG-2kGpqlGqxllLPpE/w:880/mb:500000/ar:1/aHR0cHM6Ly93d3cu/eGRjLmRldi91cGxv/YWRzL2FydGljbGVz/L2JxODdsMTR5YnZ0/b3k2eTM0Z242LnBu/Zw" class="article-body-image-wrapper"&gt;&lt;img src="https://www.xdc.dev/images/l9QMWw1qLdq3RY2Zkn05jvMTdMG-2kGpqlGqxllLPpE/w:880/mb:500000/ar:1/aHR0cHM6Ly93d3cu/eGRjLmRldi91cGxv/YWRzL2FydGljbGVz/L2JxODdsMTR5YnZ0/b3k2eTM0Z242LnBu/Zw" alt="Image description" width="231" height="240"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If we click on "Top NFTs," which would be equivalent to XRC721 tokens on BlocksScan, we ﬁnd numerous columns with information about the collections.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.xdc.dev/images/vEFHiSx0HWeePEeRWV9lpZ4nEQ9GI8P4XiWvQ5ae0dk/w:880/mb:500000/ar:1/aHR0cHM6Ly93d3cu/eGRjLmRldi91cGxv/YWRzL2FydGljbGVz/LzlhY2R0ajBzb3Zv/MWt0aTM3OGNvLnBu/Zw" class="article-body-image-wrapper"&gt;&lt;img src="https://www.xdc.dev/images/vEFHiSx0HWeePEeRWV9lpZ4nEQ9GI8P4XiWvQ5ae0dk/w:880/mb:500000/ar:1/aHR0cHM6Ly93d3cu/eGRjLmRldi91cGxv/YWRzL2FydGljbGVz/LzlhY2R0ajBzb3Zv/MWt0aTM3OGNvLnBu/Zw" alt="Image description" width="880" height="291"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;XRC721, whereas on BlocksScan, the amount of information is less extensive.&lt;br&gt;
&lt;a href="https://www.xdc.dev/images/8M0FLDSgC8jAINhbqC4HeDbDipNj62hdvheekb_rtZs/w:880/mb:500000/ar:1/aHR0cHM6Ly93d3cu/eGRjLmRldi91cGxv/YWRzL2FydGljbGVz/LzBzdjIzMWxyeHZy/em4xc3Z2YjRqLnBu/Zw" class="article-body-image-wrapper"&gt;&lt;img src="https://www.xdc.dev/images/8M0FLDSgC8jAINhbqC4HeDbDipNj62hdvheekb_rtZs/w:880/mb:500000/ar:1/aHR0cHM6Ly93d3cu/eGRjLmRldi91cGxv/YWRzL2FydGljbGVz/LzBzdjIzMWxyeHZy/em4xc3Z2YjRqLnBu/Zw" alt="Image description" width="880" height="196"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If we enter a speciﬁc collection, we can see that on BlocksScan, it provides us with a series of information.&lt;br&gt;
&lt;a href="https://www.xdc.dev/images/rg_RCx7c0MrAZYVCQGTESU3fnR2m58i9RcNc2btJigY/w:880/mb:500000/ar:1/aHR0cHM6Ly93d3cu/eGRjLmRldi91cGxv/YWRzL2FydGljbGVz/L3JjbXljY3JoeGZ6/bjJlaHZ4bmt1LnBu/Zw" class="article-body-image-wrapper"&gt;&lt;img src="https://www.xdc.dev/images/rg_RCx7c0MrAZYVCQGTESU3fnR2m58i9RcNc2btJigY/w:880/mb:500000/ar:1/aHR0cHM6Ly93d3cu/eGRjLmRldi91cGxv/YWRzL2FydGljbGVz/L3JjbXljY3JoeGZ6/bjJlaHZ4bmt1LnBu/Zw" alt="Image description" width="880" height="246"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;However, we can see that on Etherscan, there are more sections.&lt;/p&gt;

&lt;p&gt;On the other hand, if we look at the rows of data, we come across 'Method' which indicates the executed function based on decoded input data.&lt;br&gt;
&lt;a href="https://www.xdc.dev/images/0SPHTzX_-9kj1PcNcA9OBoEtKDTl27wbJECkT4GJTS4/w:880/mb:500000/ar:1/aHR0cHM6Ly93d3cu/eGRjLmRldi91cGxv/YWRzL2FydGljbGVz/L2tzemh2ODlhcGxh/ZGE1bDY2cTgzLnBu/Zw" class="article-body-image-wrapper"&gt;&lt;img src="https://www.xdc.dev/images/0SPHTzX_-9kj1PcNcA9OBoEtKDTl27wbJECkT4GJTS4/w:880/mb:500000/ar:1/aHR0cHM6Ly93d3cu/eGRjLmRldi91cGxv/YWRzL2FydGljbGVz/L2tzemh2ODlhcGxh/ZGE1bDY2cTgzLnBu/Zw" alt="Image description" width="880" height="266"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The 'Item' column displays a small image of the NFT.&lt;/p&gt;

&lt;p&gt;Links:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;a href="https://xdc.blocksscan.io/tokens/xdcf87f7dd4e47dd5bcac902c381ea0d2730db5c6ad#tokenTransfers"&gt;https://xdc.blocksscan.io/tokens/xdcf87f7dd4e47dd5bcac902c381ea0d2730db5c6ad#tokenTransfers&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://etherscan.io/token/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d"&gt;https://etherscan.io/token/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If we compare an NFT on Etherscan and another on BlocksScan, we discover very interesting information on the Etherscan NFT:&lt;br&gt;
&lt;a href="https://www.xdc.dev/images/Tf2lNXVDq1wTFE6FJXlhghujta4YnNcnbcvwTZhKiaI/w:880/mb:500000/ar:1/aHR0cHM6Ly93d3cu/eGRjLmRldi91cGxv/YWRzL2FydGljbGVz/L2I5cmk1b2o3Njd6/NzRtbThpOGszLnBu/Zw" class="article-body-image-wrapper"&gt;&lt;img src="https://www.xdc.dev/images/Tf2lNXVDq1wTFE6FJXlhghujta4YnNcnbcvwTZhKiaI/w:880/mb:500000/ar:1/aHR0cHM6Ly93d3cu/eGRjLmRldi91cGxv/YWRzL2FydGljbGVz/L2I5cmk1b2o3Njd6/NzRtbThpOGszLnBu/Zw" alt="Image description" width="880" height="486"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It would be great to have detailed information within the "Properties" section and the "Details" section.&lt;/p&gt;

&lt;p&gt;Additionally, expanding the NFT information to include its activity, similar to how the following screenshot displays, would also be beneﬁcial:&lt;br&gt;
&lt;a href="https://www.xdc.dev/images/luNPdS64Ye-JrvS9U5urA6S_PkfsDcGQ4GY2luYKPN8/w:880/mb:500000/ar:1/aHR0cHM6Ly93d3cu/eGRjLmRldi91cGxv/YWRzL2FydGljbGVz/L2dsZWtzMjFsNmdr/Mm8zbDBidm1zLnBu/Zw" class="article-body-image-wrapper"&gt;&lt;img src="https://www.xdc.dev/images/luNPdS64Ye-JrvS9U5urA6S_PkfsDcGQ4GY2luYKPN8/w:880/mb:500000/ar:1/aHR0cHM6Ly93d3cu/eGRjLmRldi91cGxv/YWRzL2FydGljbGVz/L2dsZWtzMjFsNmdr/Mm8zbDBidm1zLnBu/Zw" alt="Image description" width="880" height="235"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Links:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  &lt;a href="https://xdc.blocksscan.io/nft/xdc692f00c28437e66f99aca5618248b88de3791dcc/1585#token-transfer"&gt;https://xdc.blocksscan.io/nft/xdc692f00c28437e66f99aca5618248b88de3791dcc/1585#token-transfer&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  &lt;a href="https://etherscan.io/nft/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d/3315"&gt;https://etherscan.io/nft/0xbc4ca0eda7647a8ab7c2061c2e118a18a936f13d/3315&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;//Post Written by Victor Manero (Prime Numbers Labs- Team)&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Update Request of Masternode Interface</title>
      <dc:creator>Arturo</dc:creator>
      <pubDate>Wed, 07 Jun 2023 13:19:57 +0000</pubDate>
      <link>https://www.xdc.dev/xcantera/update-request-of-masternode-interface-5367</link>
      <guid>https://www.xdc.dev/xcantera/update-request-of-masternode-interface-5367</guid>
      <description>&lt;p&gt;In the rapidly evolving world of blockchain technology, staying updated is not just an option, but a necessity. As part of our continuous efforts to provide the best user experience, we are planning to upgrade our Masternode Interface. The goal is to make it more "Web3" compatible, thereby ensuring that our platform remains at the forefront of the blockchain revolution.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Web3&lt;/strong&gt;&lt;br&gt;
By updating our Masternode Interface to a more "Web3" design, we aim to provide our users with a more seamless and interactive experience, while also ensuring the highest level of security and privacy.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;WalletConnect Integration&lt;/strong&gt;&lt;br&gt;
As part of the upgrade, we are also looking to expand our wallet support. We understand the need for our users to have a variety of options when it comes to wallets. Hence, we recommend integrating "WalletConnect" into our platform. WalletConnect is an open protocol for connecting desktop Dapps to mobile wallets using end-to-end encryption. By enabling WalletConnect, we will be able to support a multitude of wallets, thereby providing our users with greater flexibility and convenience.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;KYC System&lt;/strong&gt;&lt;br&gt;
Know Your Customer (KYC) procedures are essential for ensuring the security of our platform and the integrity of our user base. However, we acknowledge that our current KYC system may not be as efficient as it could be. It's time for a change.&lt;/p&gt;

&lt;p&gt;We recommend outsourcing our KYC procedures to a third-party provider. These providers specialize in KYC and have the resources and expertise to conduct thorough and efficient identity verification. By doing so, we can speed up the KYC process, reduce the workload on our internal team, and most importantly, provide a smoother and faster onboarding process for our users.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;br&gt;
These upgrades represent our commitment to staying ahead of the curve in the blockchain space. We believe that by embracing Web3, expanding our wallet support with WalletConnect, and enhancing our KYC procedures, we can provide a more robust, user-friendly, and secure platform for our users. We look forward to sharing more updates as we embark on this exciting journey towards a more decentralized future.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>XDC STAKING by Prime Numbers</title>
      <dc:creator>Arturo</dc:creator>
      <pubDate>Thu, 19 Jan 2023 08:11:59 +0000</pubDate>
      <link>https://www.xdc.dev/xcantera/xdc-staking-by-prime-numbers-hde</link>
      <guid>https://www.xdc.dev/xcantera/xdc-staking-by-prime-numbers-hde</guid>
      <description>&lt;p&gt;&lt;strong&gt;Message from Arturo:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;With this post, I want to show you the final version of the XDC Staking NFTs.&lt;br&gt;
We put a lot of work into this. You will be able to start staking $XDC in around one month.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;XDC Staking &amp;amp; NFT Mechanics&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Introduction&lt;/strong&gt;&lt;br&gt;
XDC STAKING NFTs is an NFT collection with a high utility.&lt;/p&gt;

&lt;p&gt;First non-custodial and trustless $XDC staking.&lt;/p&gt;

&lt;p&gt;These NFTs are like "vaults" where you put your XDC.&lt;/p&gt;

&lt;p&gt;Welcome to the explanatory post about how NFTs and XDC staking will work.&lt;/p&gt;

&lt;p&gt;The collection consists of 5557 NFTs, of which Prime Numbers make 5542, and 15 have the same aspect as the Prime Numbers Handmade NFTs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;New "MERGE SYSTEM" and "REFUND SYSTEM"&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Rewards:&lt;/strong&gt;&lt;br&gt;
These NFTs are going to get the following rewards:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;VARIABLE REWARD:&lt;/strong&gt; 10% of Prime Numbers Finance Profits&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;FIXED REWARD:&lt;/strong&gt; In the first two years, 30% of the funds from the minting will be rewarded to the XDC Staking NFTs.&lt;br&gt;
We will give the 30% of the funds from the minting because Prime Numbers Finance (Lending and Borrowing Protocol) development is ongoing, and we want to start giving rewards.&lt;/p&gt;

&lt;p&gt;The 10% of Prime Numbers Finance profits should be higher than the 30% of the minting funds.&lt;br&gt;
All of these rewards will be paid on $XDC.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1- Fixed Reward&lt;/strong&gt;&lt;br&gt;
30% of the minting funds will be rewarded to the NFTs in the first two years. After these first two years, the non-locked and non-custodial $XDC staking reward will be 10% of the profits from Prime Numbers Finance.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;PAYOUT Formula Staking&lt;/strong&gt;&lt;br&gt;
a= total multiplier of the NFT&lt;br&gt;
a = x +y&lt;br&gt;
x= base multiplier [multiplier per rarity of the NFT]&lt;br&gt;
y= added multiplier [multiplier per level of the NFT]&lt;/p&gt;

&lt;p&gt;We have found a way to make the rewards fair for everyone:&lt;br&gt;
b= XDC staked per NFT&lt;/p&gt;

&lt;p&gt;HALF XDC REWARD given to "a" -&amp;gt; [Total Multiplier] of the NFTs&lt;br&gt;
HALF XDC REWARD given to (“a” * ”b”) -&amp;gt; [(Total Multiplier)*XDC)]&lt;/p&gt;

&lt;p&gt;Current(14-January) Reward Pool: 1,275,000 $XDC&lt;br&gt;
The reward pool depends on the total minted NFTs.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2- Prime Numbers Finance&lt;/strong&gt;&lt;br&gt;
Prime Numbers XDC Staking NFTs will receive 10% of Prime Numbers Finance profits.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;XDC NFT Staking (optional):&lt;/strong&gt;&lt;br&gt;
When your NFT reaches the MAX LIMIT (100 000 $XDC staked inside the NFT), you will be able to lock this NFT to get an additional 7% APY&lt;/p&gt;

&lt;p&gt;The lock period will be one year.&lt;br&gt;
The XDC inside this NFT is used to host masternodes.&lt;br&gt;
The effect of the lock will be confirmed to the NFT once the masternode creation is complete.&lt;/p&gt;

&lt;p&gt;The reward will be paid monthly to the NFT.&lt;/p&gt;

&lt;p&gt;Example: You have an NFT with 100 000 $XDC. And you lock it.&lt;br&gt;
From the lock, you get 7% of 100 000 $XDC -&amp;gt; 7000 $XDC&lt;br&gt;
And a part of the 10% of Prime Numbers Finance profits and an amount of the 30% minting funds.&lt;/p&gt;

&lt;p&gt;Different Rarities:&lt;br&gt;
Prime Numbers Handmade NFTs&lt;br&gt;
The first 15 Prime Numbers consist of handcrafted images from our Art Director.&lt;/p&gt;

&lt;p&gt;The owners of these Prime Numbers Handmade NFTs will get the XDC Handmade NFTs airdropped.&lt;/p&gt;

&lt;p&gt;Base Multiplier = 2.&lt;/p&gt;

&lt;p&gt;XDC STAKING NFTs&lt;br&gt;
1 Plentiful: Base Multiplier: 0.3&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/shorts/AHFVu6KoanY"&gt;https://www.youtube.com/shorts/AHFVu6KoanY&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;2 Common: Base Multiplier: 0.4&lt;/p&gt;

&lt;p&gt;&lt;a href="https://youtube.com/shorts/40sOPUIhxxY"&gt;https://youtube.com/shorts/40sOPUIhxxY&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;3 Uncommon: Base Multiplier: 0.5&lt;/p&gt;

&lt;p&gt;&lt;a href="https://youtube.com/shorts/dgOJCHaoVaY"&gt;https://youtube.com/shorts/dgOJCHaoVaY&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;4 Rare: Base Multiplier: 0.7&lt;/p&gt;

&lt;p&gt;&lt;a href="https://youtube.com/shorts/BW9jU2v6bcE"&gt;https://youtube.com/shorts/BW9jU2v6bcE&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;5 Epic: Base Multiplier: 0.9&lt;/p&gt;

&lt;p&gt;&lt;a href="https://youtube.com/shorts/-BWwHU6ynkg"&gt;https://youtube.com/shorts/-BWwHU6ynkg&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;6 Legendary: Base Multiplier: 1.2&lt;/p&gt;

&lt;p&gt;&lt;a href="https://youtube.com/shorts/O1FZ2ZhyUJE"&gt;https://youtube.com/shorts/O1FZ2ZhyUJE&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;7 Mythic: Base Multiplier: 1.5&lt;/p&gt;

&lt;p&gt;&lt;a href="https://youtube.com/shorts/MehEtkevXdg"&gt;https://youtube.com/shorts/MehEtkevXdg&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;8 Godly: Base Multiplier: 1.9&lt;/p&gt;

&lt;p&gt;MYSTERY ❤ You will see it on the Reveal.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;MERGE SYSTEM&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;We are happy to show you how our merge NFTs system works.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;You can merge 2 NFTs of the same rarity to get one of the following rarities.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Examples:&lt;br&gt;
The merge of 2 common NFTs will make one uncommon NFT.&lt;br&gt;
The merge of 2 mythic NFTs will make one godly NFT.&lt;/p&gt;

&lt;p&gt;Godly is the best rarity you can get using the merge system.&lt;/p&gt;

&lt;p&gt;When you merge 2 NFTs, these 2 NFTs get burned, and you get 1 NFT of the next rarity.&lt;/p&gt;

&lt;p&gt;This makes the NFTs deflationary.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Refund System&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Here we show you how our merge NFTs system works.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;You can use the "BurnToRedeem" button to get 30 $PRNT (Refund System)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This button breaks the NFT and extracts all the $XDC inside the NFT.&lt;br&gt;
It cannot be reversed; it will burn your NFT and send all the XDC to your wallet. Also, you get 30 $PRNT when you break the NFT.&lt;/p&gt;

&lt;p&gt;Examples:&lt;br&gt;
1- If you test and don't like how the staking system or rewards work, you can decide to "BurnToRedeem" the NFT to get 30 $PRNT.&lt;/p&gt;

&lt;p&gt;2- You minted and got one low rarity, and you prefer 30 $PRNT; you can also use this system.&lt;/p&gt;

&lt;p&gt;3- The 30 $PRNT is more valuable than the NFT, and you decide to "BurnToRedeem" as an investment option.&lt;/p&gt;

&lt;p&gt;This makes the NFTs deflationary.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Staking system with NFTs&lt;/strong&gt;&lt;br&gt;
We present to you our revolutionary staking system featuring NFTs.&lt;/p&gt;

&lt;p&gt;To earn rewards with XDC Staking NFTs, you will need to stake your $XDC. This does not happen in an ordinary way; however, when we stake at the Prime Numbers ecosystem, we stake inside the NFTs. This means your staked tokens will give an intrinsic value to the NFT and can be traded along with the NFT on any NFT marketplace as a packaged deal. The tokens can be recovered from the NFT by "Empty NFT," "Withdraw XDC," or "BurnToRedeem."&lt;/p&gt;

&lt;p&gt;When we stake our tokens in the NFT, they will gradually level up. You will able to stake as much as you want until the max limit [100 000 $XDC per NFT]&lt;/p&gt;

&lt;p&gt;Your share depends on the multiplier of your NFT, which is based on both its level(added multiplier) and its rarity(base multiplier).&lt;/p&gt;

&lt;p&gt;The higher your level and the more rarity you have, the more reward you will get.&lt;/p&gt;

&lt;p&gt;These NFTs, upon receiving the tokens, will level up from this. The staking airdrop will be factored in based on the amount of $XDC inside the NFT.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.xdc.dev/images/xBd30dv8kgHNHZs-y55jVjM13B4pQFWcyluqXn4lDzs/w:880/mb:500000/ar:1/aHR0cHM6Ly93d3cu/eGRjLmRldi91cGxv/YWRzL2FydGljbGVz/L3JwdDFrNXhoamw3/emhiZ3Fkb2Y2LnBu/Zw" class="article-body-image-wrapper"&gt;&lt;img src="https://www.xdc.dev/images/xBd30dv8kgHNHZs-y55jVjM13B4pQFWcyluqXn4lDzs/w:880/mb:500000/ar:1/aHR0cHM6Ly93d3cu/eGRjLmRldi91cGxv/YWRzL2FydGljbGVz/L3JwdDFrNXhoamw3/emhiZ3Fkb2Y2LnBu/Zw" alt="Image description" width="686" height="829"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Max limit [100 000 $XDC per NFT]&lt;br&gt;
100 000 $XDC is the max amount you can stake, but the NFT XDC balance can go above 100 000 $XDC due de rewards.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The information you can see in the staking interface:&lt;/strong&gt;&lt;br&gt;
Type: X&lt;/p&gt;

&lt;p&gt;Attributes&lt;br&gt;
Global rarity:&lt;br&gt;
Global rarity name:&lt;br&gt;
Base multiplier:&lt;/p&gt;

&lt;p&gt;Staking&lt;br&gt;
Total $XDC:&lt;br&gt;
Total Staked $XDC:&lt;br&gt;
Total Rewarded $XDC:&lt;br&gt;
Level:&lt;br&gt;
Stake in level:&lt;br&gt;
Last Stake Time:&lt;br&gt;
Last Month's Reward:&lt;br&gt;
Added multiplier:&lt;br&gt;
$XDC to level up:&lt;br&gt;
Total multiplier:&lt;br&gt;
Locked:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Total Multipliers&lt;/strong&gt;&lt;br&gt;
You will get a Total Multiplier depending on your Base Rarity and/or level.&lt;br&gt;
Total Multiplier = Base Multiplier + Added Multiplier&lt;/p&gt;

&lt;p&gt;Example:&lt;/p&gt;

&lt;p&gt;NFT with Base Multiplier 2.0 and level 18 (added multiplier 1.8) will be a total multiplier of 3.8&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How to get a $XDC Staking NFT?&lt;/strong&gt;&lt;br&gt;
Current minting price: 3500 $XDC&lt;/p&gt;

&lt;p&gt;We will sell 5300 NFTs in the minting waves.&lt;/p&gt;

&lt;p&gt;31 NFTs will be airdropped to the PRNT NFTs Plentiful holders.&lt;br&gt;
15 NFTs will be airdropped to the PRNT NFTs Handmade holders.&lt;br&gt;
1 NFT will be airdropped to the PRNT NFTs Godly Holder.&lt;/p&gt;

&lt;p&gt;210 NFTs will be minted for development purposes + marketing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Important Data:&lt;/strong&gt;&lt;br&gt;
MAX Number of NFTs: 5557&lt;/p&gt;

&lt;p&gt;XDC staking will be released just after the Reveal.&lt;/p&gt;

&lt;p&gt;Reveal is when you will be able to see what NFT you received.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How to stake?&lt;/strong&gt;&lt;br&gt;
The tutorial will come after the minting.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Frequently Asked Questions&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;When are the staking rewards sent?&lt;br&gt;
Smart-contract send the rewards on the last day of every month.&lt;/p&gt;

&lt;p&gt;When a person is in the process of leveling up, and a rewards drop takes place. Since the rewards drop into the NFT, does that help increase the levels?&lt;br&gt;
Yes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Staking Interface Buttons&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Staking" Button&lt;/strong&gt;&lt;br&gt;
This button is used for stake inside the NFT.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Transfer" Button&lt;/strong&gt;&lt;br&gt;
This button is used for transferring NFTs between wallets.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"Empty NFT" Button&lt;/strong&gt;&lt;br&gt;
This button takes out the NFT balance.&lt;br&gt;
To use this button, you need the NFT without interactions the previous seven days before trying to use "Empty NFT."&lt;br&gt;
Interaction = Transfer, Stake&lt;br&gt;
Example: Your NFT has 30 000 $XDC; if you press this button, all the staked $XDC will go to your wallet.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"WITHDRAW XDC" Button&lt;/strong&gt;&lt;br&gt;
This button takes out the chosen NFT balance.&lt;br&gt;
To use this button, you need the NFT without interactions the previous 15 days before trying to use "WITHDRAW XDC."&lt;br&gt;
Interaction = Transfer, Stake&lt;br&gt;
Example: Your NFT has 30 000 $XDC; if you press this button and introduce 10 000 $XDC, 10 000 $XDC from your staked $XDC will go to your wallet.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"BurnToRedeem" Button&lt;/strong&gt;&lt;br&gt;
This button breaks the NFT and extracts all the $XDC inside the NFT.&lt;br&gt;
It cannot be reversed; it will burn your NFT and send all the XDC to your wallet. Also, you get 30 $PRNT when you break the NFT.&lt;br&gt;
"Merge NFTs" Button&lt;br&gt;
This button merges 2 NFTs of the same rarity to get one of the following rarities.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;"LOCK NFT" Button&lt;/strong&gt;&lt;br&gt;
This button locks this NFT for one year to get an additional 7% APY.&lt;br&gt;
When your NFT reaches the MAX LIMIT (100 000 $XDC staked inside the NFT), you will be able to lock this NFT to get this reward.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Summary&lt;/strong&gt;&lt;br&gt;
After reading the entire post, we can get the following conclusions:&lt;/p&gt;

&lt;p&gt;Due to our level system, trying to achieve the highest level can be very interesting and rewarding. By actively leveling your NFT, you quickly raise in reward multiplier, resulting in a larger slice of the $XDC pie.&lt;/p&gt;

&lt;p&gt;Depending on the rarity of the NFT and level, you can get up to +4x in the rewards.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Integration Request</title>
      <dc:creator>Arturo</dc:creator>
      <pubDate>Fri, 12 Aug 2022 14:35:38 +0000</pubDate>
      <link>https://www.xdc.dev/xcantera/integration-request-3dbm</link>
      <guid>https://www.xdc.dev/xcantera/integration-request-3dbm</guid>
      <description>&lt;p&gt;Hello! Today I want to request the integration of the XDC network into the following tools.&lt;/p&gt;

&lt;p&gt;The first one is &lt;strong&gt;&lt;a href="https://www.openzeppelin.com/defender"&gt;https://www.openzeppelin.com/defender&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Defender helps developers with a lot of things:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Automate and secure all your smart contract administration.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Build with private and secure transaction infrastructure&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Create automated scripts to call your smart contracts&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Monitor and respond to smart contract exploits&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Quickly implement security best practices&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The second one is &lt;strong&gt;&lt;a href="https://thegraph.com/en/"&gt;https://thegraph.com/en/&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The Graph is an indexing protocol for querying networks like Ethereum and IPFS. Anyone can build and publish open APIs, called subgraphs, making data easily accessible.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;How to integrate? &lt;a href="https://thegraph.com/docs/en/developing/supported-networks/"&gt;https://thegraph.com/docs/en/developing/supported-networks/&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://github.com/graphprotocol/graph-node"&gt;https://github.com/graphprotocol/graph-node&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Bugs / Errors / Wrong Info</title>
      <dc:creator>Arturo</dc:creator>
      <pubDate>Mon, 01 Aug 2022 12:08:11 +0000</pubDate>
      <link>https://www.xdc.dev/xcantera/bugs-errors-wrong-info-80f</link>
      <guid>https://www.xdc.dev/xcantera/bugs-errors-wrong-info-80f</guid>
      <description>&lt;p&gt;I want to say that this is my experience and personal opinion, sorry if I sound arrogant. I'm just trying to help.&lt;/p&gt;

&lt;p&gt;—----------------------------&lt;/p&gt;

&lt;p&gt;Testnet is not working well. Our NFT marketplace smart contract only works on mainnet or other networks.&lt;/p&gt;

&lt;p&gt;Due XDCpay being outdated, XDCpay also doesn't work with the following smart contract. &lt;br&gt;
XDCpay is missing some functions that Metamask's last version has. &lt;/p&gt;

&lt;p&gt;You have here the smart contract &lt;a href="https://xdc.blocksscan.io/address/xdc00000000006c3852cbEf3e08E8dF289169EdE581"&gt;https://xdc.blocksscan.io/address/xdc00000000006c3852cbEf3e08E8dF289169EdE581&lt;/a&gt; we make it free to use for everyone on the xdc blockchain. With this, you can also bridge NFTs from other networks to XDC.&lt;/p&gt;

&lt;p&gt;Smart contract: &lt;a href="https://github.com/PrimeNumbersNFT/seaport"&gt;https://github.com/PrimeNumbersNFT/seaport&lt;/a&gt;&lt;br&gt;
—--------------------&lt;br&gt;
The main network not working with "String reverts", for example when you have a revert on the smart contract. The network doesn't indicate what revert happened.  (This is mandatory to fix it or most of the applications will not work if a revert happens)&lt;/p&gt;

&lt;p&gt;`function stake(uint256 tokenId, uint256 amountToStake) public nonReentrant {&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;    require(_exists(tokenId), "Invalid tokenId");       
    require(amountToStake &amp;lt;= _levels[_nfts[tokenId].level].dailymax, "Daily limit reached");
    require(_nfts[tokenId].laststake == 0 || _nfts[tokenId].laststake + 1 days &amp;lt; block.timestamp, "Daily limit reached");
    require(prnt.allowance(msg.sender, address(this)) &amp;gt;= amountToStake,"Insuficient Allowance");
    require(prnt.transferFrom(msg.sender,address(this),amountToStake),"transfer Failed");

    if (_nfts[tokenId].prnt==0){
        stakeValues.multiplierTotal +=  _nfts[tokenId].nftmultiplier;
    }else{
        stakeValues.totalweight -= _nfts[tokenId].weight;
    }

    stakeValues.totalPRNT += amountToStake;
    _nfts[tokenId].laststake = block.timestamp;
    _nfts[tokenId].stakeinlevel+=amountToStake;
    _nfts[tokenId].prnt+=amountToStake;
    if ( _nfts[tokenId].stakeinlevel &amp;gt;= _levels[_nfts[tokenId].level].tolevelup &amp;amp;&amp;amp; _nfts[tokenId].level &amp;lt; 20){
        _nfts[tokenId].level += 1;
        _nfts[tokenId].stakeinlevel = 0;
        stakeValues.multiplierTotal +=  _levels[_nfts[tokenId].level].levelmultiplier;
        if (_nfts[tokenId].level &amp;gt; 1){
            stakeValues.multiplierTotal -=  _levels[_nfts[tokenId].level-1].levelmultiplier;
        }
    }
    weightCal(tokenId);
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;`&lt;br&gt;
The requires don't work, the network only tells you that it's an error.&lt;/p&gt;

&lt;p&gt;—-----------------------------------&lt;/p&gt;

&lt;p&gt;XDCpay is super old, and web3modal does not support it. We needed to build a web3modal custom for adding xdcpay. XDCpay doesn't connect with snapshot.org. I suggest to fork the last version of metamask and adding the custom logos and information. &lt;/p&gt;

&lt;p&gt;—-------------------------&lt;br&gt;
&lt;a href="https://rpc.xinfin.network"&gt;https://rpc.xinfin.network&lt;/a&gt; is not working with NFT DApps. You need to use &lt;a href="https://erpc.xinfin.network"&gt;https://erpc.xinfin.network&lt;/a&gt;&lt;br&gt;
—-------------------------------&lt;/p&gt;

&lt;p&gt;xdc.observatory is not working, lots of missing info, no nfts... Lots of missing txs&lt;/p&gt;

&lt;p&gt;—--------------------------------------&lt;/p&gt;

&lt;p&gt;XinFin's website is outdated. &lt;a href="https://howto.xinfin.org/xinfinpay/features/"&gt;https://howto.xinfin.org/xinfinpay/features/&lt;/a&gt; This is super old also&lt;/p&gt;

&lt;p&gt;&lt;a href="https://howto.xinfin.org/get-started/token/"&gt;https://howto.xinfin.org/get-started/token/&lt;/a&gt; outdated info...&lt;/p&gt;

&lt;p&gt;We have the message of begin innovative and super powerful, we shouldn't have these errors, outdated info, problems...&lt;/p&gt;

&lt;p&gt;&lt;a href="https://medium.com/xinfin"&gt;https://medium.com/xinfin&lt;/a&gt; no posts since months. Medium is one of the most used media platforms, in my opinion, you should publish all the updates here.&lt;/p&gt;




&lt;p&gt;If you want a call with me or something just contact me on telegram @Arturo_Cantera or email: &lt;a href="mailto:admin@primenumbers.xyz"&gt;admin@primenumbers.xyz&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
