Soroban Support Matrix
This page is the documentation for feature support status on the Soroban target.
This support matrix documents the Soroban features Solang currently intends to support. It should be read as a statement of documented target behavior, not as a claim of exhaustive coverage. Stronger completeness claims would require broader automated validation, such as fuzzing and differential testing, and that work is still in progress.
The Soroban target as a whole is still pre-alpha and experimental.
Related documentation:
Page |
Purpose |
|---|---|
Upstream stellar/soroban-examples coverage and the corresponding Solang Solidity examples. |
|
Solidity-facing differences and Soroban-specific language behavior. |
|
Storage layout, host-value representation, and differences from common Rust SDK patterns. |
Language Features
Feature area |
Status |
Details and examples |
|---|---|---|
Contract model |
Supported |
Constructors with arguments, public functions, and public getters. Examples: token.sol, timelock.sol, and storage_types.sol. |
Core types and collections |
Supported |
Primitive types, |
Events and logs |
Supported |
Solidity |
Complex user-defined and composite types |
Partial support |
Coverage is still limited. More complex user-defined types and deeper composite values, such as nested structs, might not compile in some cases. |
Yul and inline assembly |
Unsupported |
Not supported on the Soroban target. |
Solidity hash and crypto builtins |
Unsupported |
Not yet supported on the Soroban target. |
The exact Solidity support boundary can only be characterized with broader fuzzing and related validation, and that work is still in progress.
If you run into a missing Solidity feature on Soroban, please open an issue.
Soroban Features
Feature area |
Status |
Details and examples |
|---|---|---|
Authorization |
Supported |
|
Cross-contract calls |
Supported |
|
Storage classes and TTL |
Supported |
Storage classes |
Soroban utilities |
Supported |
|
Creating contracts with |
Unsupported |
Contract creation from Solidity is not supported on Soroban. |
Native value transfer and payable-style flows |
Unsupported |
This is not part of the documented Solang support surface on Soroban. |
|
Unsupported |
Not supported on the Soroban target. |
Where a feature has target-specific behavior rather than being simply supported or unsupported, that behavior is documented in the compatibility pages linked above.