Skip to content
Featured Add Solana Wallet Login to Rails in Under a Minute
SolRengine

Rails meets Solana

Build Solana dApps with Ruby on Rails 8. Modular gems for wallet auth, RPC, tokens, transactions, and real-time updates.

$ bundle add solrengine

Add Solana login in under a minute

One gem, one generator, one Stimulus controller. Watch the whole Sign In With Solana flow — challenge, signature, verify — wired into a Rails 8 app.

solrengine-auth — Sign In With Solana
Read the full guide $ rails generate solrengine:install
20,000 +

RubyGems downloads across 7 gems · MIT licensed

The full stack — not just an RPC client

Other Ruby gems stop at RPC calls and keypairs. SolRengine ships every layer of a Solana dApp — wallet auth, RPC, tokens, transactions, and real-time updates — as modular, documented Rails gems.

Real code, not promises

Production examples from our showcase apps. Copy, paste, ship.

wallet_auth.rb
# Gemfile
gem "solrengine-auth"

# routes.rb — mounts at /auth
mount Solrengine::Auth::Engine => "/auth"

# User model — wallet address as identity
class User < ApplicationRecord
  include Solrengine::Auth::Authenticatable
end

# Any controller — protect routes
class DashboardController < ApplicationController
  before_action :authenticate!
end

Two ways to hold a wallet

Your users bring their own wallets, or you hold wallets for them. SolRengine covers both — and they mix in one app.

Your users bring wallets

Non-custodial. Users sign in with Phantom, Solflare, or any Wallet Standard wallet and keep their own keys. Wallet auth (SIWS), RPC, token portfolios, transfers, and real-time updates — the gem family above.

gem "solrengine" Quickstart

You hold wallets for your users

Wallet-per-User on the Solana Developer Platform (SDP). Users sign up with an email; the app provisions a custody wallet for each of them. The solana-sdp client gem plus the solrengine-sdp Rails engine: provisioning at signup, tracked transfers, live balance updates.

gem "solrengine-sdp"
Prerequisites: a running SDP instance, a managed custody provider (e.g. Privy), and Kora as the fee-payment provider. SDP is pre-mainnet and devnet-oriented — so is this path.
Wallet-per-User docs

The two paths mix in one app — custody wallets for everyday users, connected wallets for power users. Lamport, a neobank demo on devnet, is the worked example of the mix.

Built with SolRengine

Real applications showcasing what you can build.

Browse all case studies
New
SolRengine Starter — Your first Solana dApp built in Rails

SolRengine Starter

Your first Solana dApp in Rails. Wallet authentication, token portfolio, SOL transfers, dark/light mode, and 20+ UI components from solrengine-ui. The Rails equivalent of create-solana-dapp.

auth rpc tokens ui lookbook
WalletTrain — Solana wallet built with Rails

WalletTrain

Full Solana wallet with SIWS authentication, token portfolio with USD values, SOL transfers, and real-time balance updates via WebSocket.

auth rpc tokens transactions realtime
PiggyBank — Time-locked SOL savings on Solana

PiggyBank

Time-locked SOL savings using a custom Anchor program. Demonstrates IDL parsing, Borsh encoding, and on-chain account queries from Rails.

auth programs rpc
Solana Bytes — Interactive hex visualizer and Byte Challenge game

Solana Bytes

Interactive hex visualizer and Byte Challenge game. Paste any Solana address to see raw account data color-coded by field. Challenge mode turns it into an 8-bit arcade game.

auth rpc
Voting — On-chain voting dApp for Solana Bootcamp 2026

Voting

On-chain voting dApp built for Solana Bootcamp 2026. Create proposals, cast votes, and tally results using a custom Anchor program.

auth rpc programs
Mercado — Solana storefront with SOL payments and on-chain receipts

Mercado

Digital-goods storefront with SOL payments and on-chain receipt PDAs. The buyer signs the payment; the server mints a verifiable receipt on-chain.

auth rpc transactions programs

Support SolRengine

SolRengine is open source and community-supported. Help us keep building.

Donate SOL

Support directly on-chain

Or send SOL directly to:

EViz4YGrY6GZtfu35Y1Q3PoFWAhoXY6YMHFrcneMbdCF