DOCS / OVERVIEW / INTRODUCTION

Phaser — developer docs

Phaser is a music streaming network where listeners pay artists directly, per stream. Artists set their own rates. Under the hood: HLS streaming, wallet sign-in, and a prefunded balance that debits each time you press play.

@jackmorgan/phaser-player @jackmorgan/phaser-catalog REST · phaser-api.jackmorgan.xyz

🎧 Live playground

Try it
Neon Arboretum
Velour Static · Halfdream
press play to see events fire…

Architecture

Two npm packages plus a REST API. You pick which one(s) to use.

PieceInstallUse it when…
@jackmorgan/phaser-playernpm i @jackmorgan/phaser-playerYou want to play Phaser tracks.
@jackmorgan/phaser-catalognpm i @jackmorgan/phaser-catalogYou want to browse/search the catalog.
REST APIYou're in a language without a Phaser SDK yet.

30-second quickstart

terminal
$ npm install @jackmorgan/phaser-player @jackmorgan/phaser-catalog
$ pnpm add @jackmorgan/phaser-player @jackmorgan/phaser-catalog
$ bun add @jackmorgan/phaser-player @jackmorgan/phaser-catalog
app.ts
import { Player } from "@jackmorgan/phaser-player";
import { CatalogClient } from "@jackmorgan/phaser-catalog";

const catalog = new CatalogClient();
const player  = new Player();

const page = await catalog.tracks({ sort: "newest" });
await player.load(page.data[0].id);
await player.play();
<script type="module">
  import "@jackmorgan/phaser-player";
</script>

<phaser-player track-id="trk_abc123"></phaser-player>
curl "https://api.phaser.stream/v1/tracks?sort=newest"

Where to next?