Skip to main content
Crossmint provides wallets that users can provision from email or OAuth — no extensions, no mnemonics. Crossmint handles authentication and key custody on the wallet side. Gas Station handles fee sponsorship and relay: once the user’s wallet has signed the transaction, Gas Station submits it to Solana without charging gas.

How the integration works

Crossmint and Gas Station operate on separate layers: Your app builds a transaction using the fee payer returned by GET /api/transaction/config. Crossmint signs it. Gas Station relays it. The user never pays gas. Crossmint loads as an iframe inside your app and handles authentication and signing in that context. From the relay perspective, your app is the origin.

Demo

The Crossmint demo is a working React application that walks through the full gasless transaction flow:

altude-crossmint-gas-station-demo

Clone the demo to run a complete Crossmint + Gas Station integration on Solana devnet.
The demo covers:
  • Authentication — Crossmint handles sign-in and wallet provisioning via its React SDK
  • Wallet provisioning — Users get a Solana wallet automatically on first sign-in
  • Transaction buildingSystemProgram.createAccount with Altude as fee payer
  • Gasless relay — Signed transactions submitted through POST /api/Account/create and POST /api/Transaction/send
  • Transaction history — Persistent history with Solscan explorer links
  • Mock fallback — Runs without an Altude API key, simulating the full flow

Quick setup

1. Get your credentials

You need two things before running the demo:
  • Crossmint Client API Key — from crossmint.com/console. Create a project and copy your client API key.
  • Altude API key — from app.altude.so. Create an application and copy the devnet key.

2. Clone and configure

Open .env and set your credentials:

3. Run

Open http://localhost:5000. Sign in with Crossmint, create a transaction, and watch Gas Station relay it without the user paying gas.

Adapter pattern

The demo isolates the Crossmint integration in src/wallet/crossmint.tsx. The rest of the app — including Gas Station relay — is provider-agnostic. To see how the adapter interface works, or to adapt this for a different provider, see the integration overview.

Integration overview

Architecture, custody model, and how Gas Station fits alongside any wallet provider.

Gas Station API reference

Full reference for /api/Account/create, /api/Transaction/send, and other endpoints.