Skip to main content


There are a few things that can be checked to make sure everything is set up correctly.

If the collator's account is shown next to some of the blocks on any network explorer, e.g., the one offered by PolkadotJS Apps, then the collator is correctly producing blocks and getting rewarded for it. If the logs print the message that starts with a 🎁 emoji, it indicates that the collator setup is correct but that the blocks produced are not included by the Relay Chain. This typically signals some issues about the node hardware or connectivity. If not, it might be that the node does not produce and send blocks fast enough. This can be caused by slow hardware or a slow internet connection. Also, note that a high bandwidth connection can still be slow if it has a high ping! Bandwidth and latency do not necessarily come hand in hand. In this case, it is better to rule out other options before thinking about upgrading the collator's hardware.

  1. Check that the session keys are associated with the validatorId (aka AccountId). There should be a 32 Byte long public key stored in session > nextKeys(your AccountId).
  2. Check that the node has the corresponding private key for the public session key. Connect to the node and query author > hasKey(<pubKey from 1.>, aura) to see if it returns true.
  3. Check that the node is fully synced with the Relay Chain & parachain (best and finalized block number is equal to the one shown in the PolkadotJS Apps (wss://, wss:// and on Subscan (Spiritnet, Peregrine).
  4. Check that the collator is among the selected candidates. Its address should included in the list returned by querying parachainStaking > topCandidates().
  5. Check that the parachainStaking pallet has registered the collator's address among the authorized authors in the session. Its address should be listed when querying session > validators().

Collator Rewards Have Stopped

If you have stopped receiving rewards, either of the following is true:

  1. You were kicked out of the top collator candidate list because your total stake is too low. See the section about joining for the necessary steps to retrieve the least staked candidate address in that list. You can query their stake by going to Developer -> Chain State calling parachainStaking -> candidatePool(address) -> +.
  2. You have connectivity issues, see above for resolution tips.

Why Can't I Transfer Unstaked Tokens?

Staking puts a lock on your tokens which blocks them from being transferred. You can still use them for participating in Governance. If your funds are unstaked, you still need to wait 7 days (in block time) to unlock tokens after unstaking them.