🚧 The Shelby Explorer is currently in beta and is under active development

Shelby SymbolMedia Kit

Shorts Demo

TikTok-style short video app powered by Shelby Network


A short-form video sharing platform demo built for Shelby Breakpoint 2025. This app demonstrates recording, uploading, and playing videos on the Shelby Network with wallet authentication and gasless transactions.

Shelby Shorts Demo
0:00 / 0:00

Features

Video Upload & Playback

Record on device and upload to Shelby Network using @shelby-protocol/react

X-Chain Wallet Support

Connect wallets across chains with @aptos-labs/wallet-adapter-react

Gasless Transactions

Sponsor user transactions via Geomi Gas Station

Wallet Authentication

Authenticate wallets to off-chain services using @aptos-labs/siwa

Tech Stack

TechnologyPurpose
Next.js 15React framework with App Router
@shelby-protocol/reactUpload videos to Shelby Network
media-chromeVideo player components
@aptos-labs/wallet-adapter-reactMulti-chain wallet connections
@aptos-labs/gas-station-clientGasless transaction sponsorship
@aptos-labs/siwaSign-In with Aptos authentication
TursoSQLite database for video metadata
Drizzle ORMType-safe database queries

Source Code

Getting Started

Prerequisites

  • Node.js 20+
  • pnpm 10+
  • Turso account for the database
  • Geomi account for API keys and gas station

Install dependencies

git clone https://github.com/shelby/shelby-breakpoint.git
cd shelby-breakpoint
pnpm install

Configure environment

cp .env.example .env

Set up Turso database

Create a new database in the Turso dashboard, then add your credentials:

TURSO_DATABASE_URL=libsql://your-database.turso.io
TURSO_AUTH_TOKEN=your-auth-token

Run migrations to create tables:

pnpm run db:push

Set up Geomi API keys

Get your API keys from the Geomi dashboard:

NEXT_PUBLIC_APTOS_SHELBYNET_API_KEY=your-aptos-api-key
NEXT_PUBLIC_SHELBY_SHELBYNET_API_KEY=your-shelby-api-key
NEXT_PUBLIC_APTOS_SHELBYNET_GAS_STATION_API_KEY=your-gas-station-key

See the API Keys guide for detailed instructions.

Start development server

pnpm run dev

Open http://localhost:3000 in your browser.

Funding Accounts

Before uploading videos, fund your accounts with tokens:

ShelbyUSD

  1. Open the app and click "Profile"
  2. Connect your wallet
  3. Click "Copy Address" in the header
  4. Fund at the ShelbyUSD Faucet

APT (Gas Station)

  1. Go to your Gas Station resource in Geomi
  2. Find the "Fee Payer Address" at the top
  3. Copy and fund at the APT Faucet

Environment Variables

VariableRequiredDescription
TURSO_DATABASE_URLYesTurso database URL
TURSO_AUTH_TOKENYesTurso auth token
NEXT_PUBLIC_APTOS_SHELBYNET_API_KEYYesAptos Shelbynet API key
NEXT_PUBLIC_SHELBY_SHELBYNET_API_KEYYesShelby Shelbynet RPC API key
NEXT_PUBLIC_APTOS_SHELBYNET_GAS_STATION_API_KEYYesGas Station API key
NEXT_PUBLIC_UPLOAD_ALLOWLIST_ADDRESSESNoAddresses allowed to upload (empty = anyone)
NEXT_PUBLIC_RECAPTCHA_SITE_KEYNoreCAPTCHA v3 site key
RECAPTCHA_SECRET_KEYNoreCAPTCHA v3 secret
JWT_SECRETNoJWT signing secret

Database Commands

pnpm run db:generate  # Generate migration files
pnpm run db:migrate   # Run pending migrations
pnpm run db:push      # Push schema to database
pnpm run db:studio    # Open Drizzle Studio

Learn More


On this page