multiversx-property-testing

Automate property-based testing and fuzzing for MultiversX smart contracts.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires proptest, multiversx-sc-scenario, libfuzzer-sys, proptest-state-machine, and includes scripts (resource) and references (resource) components.

What problem does it solve?

This Skill helps developers find edge cases and unexpected behavior in their MultiversX smart contracts by using automated property-based testing and fuzzing techniques.

Core Features & Use Cases

  • Invariant Verification: Ensures that critical properties of your contract always hold true.
  • Edge Case Discovery: Automatically generates random inputs to uncover bugs that manual testing might miss.
  • Fuzzing: Utilizes tools like cargo-fuzz for in-depth security and stability testing.
  • Use Case: Before deploying a complex DeFi contract, use this Skill to run property tests that verify token balance conservation under various transfer scenarios, ensuring no funds are lost due to unexpected logic.

Quick Start

Use the multiversx-property-testing skill to write a property test for the deposit function in your smart contract.

Frequently Asked Questions about multiversx-property-testing

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

FAQPage Schema
How do I find edge cases in MultiversX smart contracts?

Property-based testing and fuzzing automatically generate random inputs to uncover edge cases and invariant violations in MultiversX smart contract logic before deployment.

How do I verify mathematical invariants in Rust smart contracts?

Verify mathematical invariants in Rust smart contracts by writing property tests with the proptest library to ensure critical properties always hold true under various scenarios.

Does cargo-fuzz work with MultiversX smart contract testing?

Yes, cargo-fuzz integrates with MultiversX smart contract testing via libfuzzer-sys to perform in-depth security and stability fuzzing on contract logic.

Can I test complex state machines in MultiversX contracts?

Yes, you can test complex state machines in MultiversX contracts using the proptest-state-machine library to verify state transitions and discover unexpected behavior.

What is the best way to ensure token balance conservation in DeFi contracts?

Property-based testing ensures token balance conservation in DeFi contracts by automatically verifying no funds are lost across various transfer scenarios due to unexpected logic.

Do I need proptest to run fuzzing on MultiversX contracts?

Yes, proptest is required for property-based test generation, while libfuzzer-sys and cargo-fuzz handle in-depth fuzzing and stability testing for MultiversX contracts.