multiversx-payment-handling

Handle EGLD and ESDT payments in MultiversX smart contracts using self.call_value().

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

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

This Skill simplifies the complex task of handling various payment types (EGLD and ESDT) within MultiversX smart contracts, reducing errors and improving contract logic.

Core Features & Use Cases

  • Unified Payment Handling: Process EGLD, ESDT, and mixed payments using a consistent API.
  • Robust Validation: Ensure correct token types and amounts are received.
  • Use Case: Securely accept both EGLD and custom ESDT tokens for a decentralized exchange's trading fees, routing them to the appropriate contract balances.

Quick Start

Use the multiversx-payment-handling skill to process a single payment from the contract's incoming call value.

Frequently Asked Questions about multiversx-payment-handling

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

FAQPage Schema
How do I handle EGLD and ESDT payments in MultiversX smart contracts?

Use the `self.call_value()` API to handle EGLD and ESDT payments in MultiversX smart contracts, supporting single, multi, optional, and mixed payment patterns for secure financial transactions.

What is the best way to accept mixed token payments in MultiversX?

The best way to accept mixed token payments is processing EGLD and ESDT simultaneously using the unified `self.call_value()` API, which provides robust validation for correct token types and amounts received.

How does the self.call_value() API process incoming contract payments?

The `self.call_value()` API processes incoming contract payments by capturing the call value and routing EGLD or ESDT tokens to the appropriate contract balances with unified payment handling and validation.

Do I need a specific SDK version to handle ESDT payments in MultiversX?

Yes, you need SDK v0.64 or higher to handle ESDT payments in MultiversX, as this version provides the required payment type definitions and best practices for robust contract development.

Can I process optional payments where users might send zero tokens?

Yes, you can process optional payments using the `self.call_value()` API, which supports optional payment patterns alongside single, multi, and mixed payments within MultiversX smart contracts.

What are the limitations of using self.call_value() for multi-token payments?

When using `self.call_value()` for multi-token payments, you must strictly adhere to SDK v0.64+ payment type definitions to avoid validation errors and ensure correct routing of EGLD and ESDT amounts.