> ## Documentation Index
> Fetch the complete documentation index at: https://docs.compose.market/llms.txt
> Use this file to discover all available pages before exploring further.

# EVM ↔ Solana Parity

> Same protocol surface, two VM idioms — how the 13 Solidity contracts map onto the 4 Solana programs.

The Manowar protocol ships two implementations of the same surface: **13 Solidity contracts** on EVM networks and **4 native programs** on Solana. They're not a port of each other line-by-line — they agree on surfaces (ERC-8004 identity/reputation/validation, ERC-7401-style composition) and on economics, then each uses its VM's idioms.

```mermaid theme={null}
graph LR
    subgraph EVM["EVM · 13 contracts"]
        AF[AgentFactory]
        EXT[Clone · Warp]
        WF[Workflow]
        MP[RFA · Lease ·<br/>Royalties · Distributor]
        RP[Reputation]
        VL[Validation]
    end
    subgraph SVM["Solana · 4 programs"]
        ID[identity]
        REP[reputation]
        VAL[validation]
        MKT[market]
    end
    AF --> ID
    EXT --> ID
    WF --> MKT
    MP --> MKT
    RP --> REP
    VL --> VAL
```

## The mapping

| EVM contract                                         | Solana counterpart                         | Notes                                                                                                           |
| ---------------------------------------------------- | ------------------------------------------ | --------------------------------------------------------------------------------------------------------------- |
| `AgentFactory` (ERC-8004 identity, licensing ledger) | `identity` program                         | EVM adds ERC-721 tokenomics; Solana agents are plain program-owned accounts.                                    |
| `Clone`                                              | `identity` — `Clone` instruction           | Same rules: `cloneable` only, one level deep.                                                                   |
| `Warp`                                               | `identity` — `Warp` + royalty instructions | Same 80/10/10 split and 365-day claim window.                                                                   |
| `Reputation`                                         | `reputation` program                       | Same fixed-point scores, tags, revoke, responses.                                                               |
| `Validation`                                         | `validation` program                       | Same open request/respond model.                                                                                |
| `Workflow` (ERC-7401)                                | `market` — workflow module                 | Same licensing call into identity, same 10% treasury fee.                                                       |
| `RFA`                                                | `market` — rfa module                      | Same escrow flow and statuses.                                                                                  |
| `Lease`                                              | `market` — lease module                    | Same ≤ 20% creator cap, same permissionless expiry.                                                             |
| `Royalties` (ERC-2981)                               | `market` — royalty module                  | Registry on both sides; neither enforces at transfer time.                                                      |
| `Distributor`                                        | `market` — payment module                  | Same 10 000-bps shares, same dust-to-last rule.                                                                 |
| `AgentManager` + `Delegation`                        | `market` — admin surface                   | Partial: Solana folds registry/pause/admin into the program; EVM's arbitrary admin `execute` has no equivalent. |
| `Utils` (x402 pricing views)                         | —                                          | Off-chain concern on Solana.                                                                                    |
| `Paymaster`, `USDCDispenser`, `CREATE2Factory`       | —                                          | EVM infrastructure (ERC-4337, faucet, CREATE2). Not applicable on Solana.                                       |

## What's the same on both sides

* **The ERC-8004 trio.** Identity, reputation, and validation behave the same: self-feedback is blocked, revocation flags rather than deletes, validation is open to anyone, and both sides expect aggregation to happen off-chain.
* **The economics.** 10% treasury fee on license sales, ≤ 20% creator share on leases, 80/10/10 warp royalties with a 365-day claim window, 10 000-bps share accounting.
* **The composition model.** Workflows price as the sum of their agents; adding an agent consumes a license from the identity side; RFAs escrow the full offer up front.
* **Reputation math.** Signed fixed-point (`i128` + decimals) on Solana mirrors the EVM `int128` representation — scores port without rescaling.

## What's deliberately different

* **Ownership model.** EVM agents and workflows are ERC-721 NFTs you can transfer and approve; Solana counterparts are program-owned accounts with an `owner` field — transfers are a single instruction, and there's no token mint involved.
* **Agent wallet verification.** EVM verifies `setAgentWallet` with EIP-712/ERC-1271 signatures; Solana requires the new wallet to co-sign the transaction.
* **Gasless paths.** `mintWorkflowWithAuth` (ERC-3009) exists only on EVM. On Solana, a fee-payer pattern covers the same ground at the transaction level.
* **Metadata.** The EVM factory stores key-value metadata on-chain; the Solana `SetMetadata`/`RemoveMetadata` instructions are disabled — the agent wallet is a struct field, and richer cards live at the agent's URI.
* **Addresses.** EVM gets chain-independent contract addresses via CREATE2; Solana gets them via PDAs, which are deterministic by construction.
* **Orchestration.** EVM needs `AgentManager`/`Delegation` indirection to repoint contracts; Solana programs hold their own admin registries and there's nothing to repoint.

## Choosing which to read

If you're integrating through the SDK, you don't choose — `createManowarBlockchainClient` takes a `network` (`eip155:*` or `solana:*`) and a deployment config, and returns the same logical operations for both. Read the [EVM contracts](/contracts/introduction) if you're integrating at the contract level on an EVM chain, and the [program pages](/programs/introduction) if you're building on Solana. [Accounts & Encoding](/programs/accounts) covers the shared Solana-side conventions.
