> For the complete documentation index, see [llms.txt](https://solieum.gitbook.io/solieum/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://solieum.gitbook.io/solieum/solve-frame-work.md).

# Solve Framework

Solve is a smart-contract language with its own toolchain, Cradle, which compiles it to native programs for more than one chain. It has its own site at [solvelang.com](https://solvelang.com/) and a web IDE at [cradle.solvelang.com](https://cradle.solvelang.com/), and those are the source of truth for the language itself.

This page covers only the part that belongs in a Solieum paper: what happens when you point that toolchain at a Solieum chain.

## The claim, and how it was tested

**The artifact Cradle produces for Solana is the artifact Solieum executes, unchanged.**

On 5 September 2026, a counter contract written in CradleScript was compiled by Cradle to a native Solana program, built to SBF with the standard toolchain, registered on a local Solieum chain, and driven through Cradle's own seven-step conformance scenario.

The program was not edited. Its instruction encoding was not edited. The client that drove it was Cradle's own harness client with the transport swapped.

All seven steps passed:

{% stepper %}
{% step %}

## Initialize with an owner

{% endstep %}

{% step %}

## Read a zero count

{% endstep %}

{% step %}

## Refuse an underpaid increment

{% endstep %}

{% step %}

## Accept a paid increment

{% endstep %}

{% step %}

## Accept an overpaid increment

{% endstep %}

{% step %}

## Refuse a reset from a non-owner

{% endstep %}

{% step %}

## Accept a reset from the owner

Every block in the run settled to its Layer 1.
{% endstep %}
{% endstepper %}

## Three things in that run were Solieum's, not Solana's

**The two refusals cost nothing and left no record.** The underpaid call and the non-owner reset came back at submit time as the program's own custom errors, with the program's own logs. On a Solana cluster those are two failed transactions, charged and recorded forever. Here they never entered a block, because execution happens at admission and a failing transaction is refused rather than included.

**Every block settled.** Each block of the run went to its Layer 1 as a published batch and a committed root. A local run is not a devnet run, but the settlement path exercised is the same one.

**The program was registered, and the chain said what that costs.** A program registered at node start is reported by `getChainInfo` together with the caveat that steps through it are opaque to the dispute game. It is a local chain's convenience, and the node prints the limitation rather than letting it be inferred.

## What this does and does not show

It shows compatibility at the level that matters: a compiler targeting Solana does not need a Solieum target, a Solieum SDK, or a Solieum dialect. It shows the same for the client side, where only the transport changed.

It does not show a deploy path on the public devnet chains. Programs are registered at node start today, not deployed by a transaction, and that is the next step for this path rather than a solved one.

It also does not extend the dispute game. A step through a registered program is opaque until the one-step classes cover it. Running third-party programs on a Solieum chain and *defending* every step of them in a dispute are two different maturity levels, and this paper keeps them apart.

## Why Solieum documents an external toolchain at all

Because the alternative is worse. A Layer 2 that ships its own framework, its own language and its own SDK is asking developers to bet on four things instead of one. Solieum's position is that the execution environment should be Solana's, the artifacts should be Solana's, and anything above that should be free to come from wherever the developer already works.

Cradle is one such toolchain, and the counter run is the evidence that the position is real rather than rhetorical. Anchor programs, native Rust programs and anything else that produces a Solana `.so` are in exactly the same position.

{% hint style="warning" %}
An earlier version of this page described Solve as a Solieum framework installed from a Solieum package registry, with a code sample using macros from a Solieum crate. No such package or crate exists, and the relationship above is the accurate one.
{% endhint %}
