mvx_sharp_edges

Explain MultiversX WASM runtime quirks, gas limits, and async call behaviors.

12|5|Updated Jan 28, 2026
One-click install
npx skills add https://github.com/multiversx/mx-ai-skills --skill mvx-sharp-edges
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: mvx_sharp_edges
Source: https://github.com/multiversx/mx-ai-skills/tree/main/antigravity/skills/mvx_sharp_edges
Command: npx skills add https://github.com/multiversx/mx-ai-skills --skill mvx-sharp-edges

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill helps developers avoid common pitfalls and unexpected behaviors specific to the MultiversX blockchain's WASM execution environment, gas mechanics, and smart contract interactions.

Core Features & Use Cases

  • Identify Async Callback Issues: Understand how failed async calls affect state and how to handle them correctly.
  • Gas Limit Awareness: Recognize potential issues with cross-shard transactions and out-of-gas errors.
  • Storage Optimization: Differentiate between Vec and VecMapper to prevent memory and gas issues.
  • Token Precision: Ensure correct handling of ESDT decimal places.
  • Upgradeability Logic: Understand initialization and state management during contract upgrades.

Quick Start

Explain the implications of an async call failing in a MultiversX smart contract.

Frequently Asked Questions about mvx_sharp_edges

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
Why does my MultiversX smart contract callback fail after an async call?

MultiversX smart contract async callbacks fail when the original asynchronous call encounters an out-of-gas error or executes on a different shard, causing unexpected state mutations if not handled defensively.

How do I handle out-of-gas errors in cross-shard transactions on MultiversX?

Handling out-of-gas errors in cross-shard transactions on MultiversX requires recognizing that the asynchronous call mechanism may silently fail, making defensive state checks within callbacks essential to prevent contract corruption.

What is the difference between Vec and VecMapper for MultiversX smart contract storage?

The difference between Vec and VecMapper in MultiversX smart contract storage lies in gas consumption and memory handling, where VecMapper prevents the severe gas and memory issues associated with standard Vec operations.

How do I manage state during a MultiversX contract upgrade?

Managing state during a MultiversX contract upgrade requires understanding initialization logic and state management quirks to ensure existing storage mappers and ESDT token precision are not corrupted during the upgradeability process.

How do I ensure correct ESDT decimal precision in MultiversX smart contracts?

Ensuring correct ESDT decimal precision in MultiversX smart contracts requires strict handling of decimal places during token transfers and storage to avoid calculation bugs and value mismatches within the WASM runtime.

What are common MultiversX WASM runtime quirks when writing smart contracts?

Common MultiversX WASM runtime quirks include non-obvious behaviors in gas limit handling, storage mapper performance degradation, and asynchronous call failures that can introduce subtle bugs into smart contract execution.