Monday, December 22, 2025
API
Protocol
WASM
Tooling

Release: SpaceCraft SDK v0.64.0

Overview

This major release brings significant improvements to the MultiversX smart contract development experience, featuring a modernized payments API, enhanced type safety, and updated toolchain compatibility.

Rust Edition 2024 Upgrade

The SDK has been upgraded to Rust Edition 2024, requiring a minimum compiler version of 1.85.

This change is mostly internal, developers will only be affected by the minimum Rust version increase.

Note: because there are still some issues with wasmer 6 on linux machines for compilers starting with 1.89, we are making sure to keep compatibility with older compilers for a while longer.

Revolutionary Payments API

The new payments API introduces a unified approach to handling both EGLD and ESDT tokens, treating them equally for consistent and predictable behavior.

New Types

TokenId: A more concise and ergonomic replacement for token identifiers with consistent EGLD.

- EGLD is always serialized as EGLD-000000

- Shorter, cleaner code

- Unified handling across all token types

Payment: The new payment type that combines token identifier and amount.

- Type Safety: Uses NonZeroBigUint amounts to prevent zero-value payments at compile time

- Consistency: Treats EGLD and ESDTs uniformly

- Ergonomics: Cleaner API surface for common payment operations

Enhanced call_value API

- all() - Complete Payment Collection

- single() - Strict Single Payment

- single_optional() - Flexible Single Payment

- array() - Fixed-Size Payment Array

Advanced Features

MultiTransfer Marker

Force ESDT multi-transfer even when not strictly required:

Deprecated APIs

Should no longer be used, since they rely on the assumption that EGLD cannot be transferred together with ESDTs, which is no longer valid, since Spica.

- EgldOrMultiEsdtPayment → Use Payment

- call_value().any_payment() → call_value().all(), or other appropriate methods.

Enhanced Numeric Types

NonZeroBigUint Implementation

The feature was heavily tested, using a large suite of auto-generated tests. These tests have also increased the security of BigInt and BigUint operators.

Benefits:

- Compile-Time Safety: Prevents zero-value payments and operations

- Full Operator Support: All mathematical operations available

- Performance: Some operations, such as addition of two non-zero numbers require no runtime checks.

SDK Improvements

Transaction Parsing Fix

Resolved issues with parsing transactions containing large values in Smart Contract Results (SCRs):

- Better handling of big number serialization

- Improved transaction parsing reliability

- Enhanced compatibility with complex transaction scenarios

Dependency Updates

All framework dependencies have been upgraded to their latest versions, providing:

- Security patches and bug fixes

- Performance improvements

- Enhanced compatibility with the broader Rust ecosystem

Benefits Summary

- Enhanced Type Safety: Compile-time prevention of zero-value payments

- Unified Token Handling: EGLD and ESDTs treated consistently

- Improved Developer Experience: Cleaner APIs and better error handling

- Future-Ready: Latest Rust features and dependency versions

This release represents a significant step forward in smart contract development ergonomics while maintaining the security and performance standards expected in blockchain development.

More details: GitHub↗

Do you need more information?

Explore projects, tokens, and integrations built on MultiversX