Rome SDK

The Rome SDK provides typed Solidity interfaces for interacting with Solana programs from EVM smart contracts. It's the developer toolkit for building cross-runtime applications on Rome.

Two SDKs

Rome has two SDKs serving different purposes:

Solidity SDK (@rome-protocol/solidity-sdk)

For Solidity developers. Provides precompile interfaces, ERC-20/SPL wrappers, PDA derivation, and CPI utilities. Install via npm and import into your Solidity contracts.

npm install @rome-protocol/solidity-sdk
import {SplToken, CpiProgram, SystemProgram} from "@rome-protocol/solidity-sdk/contracts/core/Precompiles.sol";
import {SPL_ERC20} from "@rome-protocol/solidity-sdk/contracts/token/ERC20SPL.sol";
import {RomeEVMAccount} from "@rome-protocol/solidity-sdk/contracts/core/RomeEVMAccount.sol";

Rust SDK (rome-sdk)

For infrastructure operators. A Rust workspace of 9 crates that handles transaction composition, Solana interaction, gas pricing, block indexing, and service orchestration. Used by Proxy, Hercules, and Rhea.

Solidity SDK: What's Included

Precompile Interfaces

Pre-bound singleton constants for all Rome precompiles:

SPL Token Operations

PDA Derivation

Cross-Program Invocation

ERC-20 over SPL Tokens

Token Registry

Borsh Deserialization

Metaplex Metadata

Rust SDK: Architecture

The Rust SDK is a 9-crate workspace:

Crate
Purpose

rome-sdk

Core API: Rome struct, config, transaction types (RheaTx, RemusTx, RomulusTx)

rome-evm-client

EVM rollup client, TxBuilder, ResourceFactory, emulator integration

rome-solana

Solana tower, RPC client, transaction batching and tracking

rome-geth

OP-Geth Engine API integration for block building

rome-utils

RLP, hex, JSON-RPC, authentication utilities

rome-obs

OpenTelemetry observability (traces, metrics, logs)

rome-da

Celestia data availability layer

rome-meteora

Meteora DEX AMM pool adapters for gas pricing

rome-meta-hook

Token-2022 Transfer Hook router client

Transaction Types

Resource Pooling

The SDK pools Solana keypairs (payers) and holder account indices for parallel transaction submission:

SDK Roadmap

Built and Working

  • SPL Token wrappers and precompile interfaces

  • Meteora DAMM v1 swaps via CPI

  • Oracle Gateway V1 + V2 (Pyth Pull, Switchboard V3)

  • System Program helpers, Borsh deserialization

  • ERC20SPL Factory + bridge contracts

  • Token Registry with cross-chain metadata

In Progress

  • JupiterRouter (Solidity interface for Jupiter swaps)

  • Meta-Hook Router SDK client

Planned (Phase 2)

Interface
Protocol

IJupiter

Jupiter DEX aggregator

IDrift

Drift perpetuals

IKamino

Kamino lending

IMeteora

Meteora liquidity

IOndoGM

Ondo RWA

Planned (Phase 3)

Interface
Program

IStakeProgram

Solana Stake

IVoteProgram

Solana Vote

ISlotHashes

SlotHashes Sysvar

What's Next

Last updated

Was this helpful?