YMMUDE Documentation

YMMUDE is a Web3-powered music platform where you earn $YMMUDE tokens just by listening, discovering, and sharing music. This guide covers the Music Library, Player, Wall3t wallet system, and Space Agent.

💡 New here?Start with the Music Library to build your collection, then explore Wall3t to see how you earn $YMMUDE tokens with every interaction.

Music Library

Introduction

Your YMMUDE Music Library is a personal, cloud-hosted audio collection. Each user has their own private library — nobody else can see or access your tracks. You can populate it two ways:

  • Media Sites — search and pull any track directly from supported media sites into your library
  • File Upload — upload your own audio files from your device

Access your library at ymmude.com → My Music in the top navigation.

Adding Music from Media Sites

YMMUDE supports adding tracks from popular media sites directly into your library in seconds. The audio is extracted and stored to your account — no app or extra link needed later.

  1. Go to My Music in the top navigation
  2. Click Add from Media Sites or use the search bar
  3. Type a song title, artist name, or paste a media site URL
  4. Browse results and click Add to Library on the track you want
  5. The track downloads in the background — it appears in your library when ready
🎁 Earn while you discoverYou earn +250,000 $YMMUDE every time you add a new track from a media site. Each track rewards you only once.

Uploading Your Own Tracks

Have audio files on your device? Upload them directly to your library.

  1. Go to My Music in the top navigation
  2. Click the Upload button
  3. Select one or more audio files from your device
  4. Files upload and appear in your library immediately

Supported Formats & Limits

FormatExtensionMax Size
MP3.mp3100 MB
M4A / AAC.m4a100 MB
OGG Vorbis.ogg100 MB
FLAC.flac100 MB
WAV.wav100 MB
🎁 Earn for sharingYou earn +300,000 $YMMUDE for each track you upload. Each uploaded file is rewarded once.

Managing Your Library

Your library displays all added and uploaded tracks. From the library view you can:

  • ▶️ Play — send a track to the player instantly
  • ⬇️ Download — save the audio file to your device
  • 🗑️ Delete — remove a track from your library permanently

Your library is private to your account. Only you can see, play, or manage your tracks.

Crates

Crates are personal playlists inside your music library. You can create as many crates as you like and organize your tracks into themed collections — then play directly from any crate in the player.

Creating a Crate

  1. Open My Music from the navigation
  2. Scroll to the Crates panel
  3. Click New Crate and enter a name
  4. The crate appears in your list immediately and is ready to fill

Adding Tracks to a Crate

  1. In your library, locate the track you want to add
  2. Click the Add to Crate button on the track
  3. Select the target crate from the dropdown
  4. The track is added — a crate can hold as many tracks as you like

Managing Crate Tracks

Click any crate name in the Crates panel to expand it and view its tracks. From the expanded view you can:

  • ▶️ Play Crate — load the crate into the player immediately
  • 🗑️ Remove track — remove a specific track from this crate (does not delete it from your library)
ℹ️ Crates vs LibraryRemoving a track from a crate only removes it from that crate — the track stays in your full music library. To permanently delete a track, use the Delete option in the main library view.

Player

Getting Started

The DJ Ymmude Player is a personal streaming player built to play tracks directly from your music library. Navigate to My Music → Player to open it.

ℹ️ Library requiredThe player streams from your personal library. Add tracks to your library first before opening the player.

The player loads automatically on the Player page. Your playback position and settings are preserved between visits.

Playback Controls

ControlAction
⏪ PreviousJump to the previous track in the queue
▶️ / ▮▮ Play/PauseStart or pause playback
⏩ NextSkip to the next track
🔀 ShuffleToggle randomized playback order
🔁 RepeatRepeat current track or the full queue
🔊 VolumeAdjust playback volume
Progress barClick or drag to seek to any position

Queue & Playback Order

The player queue is automatically built from your music library. Pressing Play on a track in your library loads it into the player and queues the rest of your library to follow.

  • Default order — tracks play in the order they appear in your library
  • Shuffle — tracks play in a randomized order
  • Repeat track — the current track loops indefinitely
  • Repeat all — the full library queue loops continuously
🎁 Earn while you listenYou earn +75,000 $YMMUDE per track you listen to for at least 30 seconds. A 60-minute cooldown applies per track — keep listening to keep earning.

Playing from a Crate

Instead of playing your entire library, you can load any crate directly into the player to hear only the tracks in that collection.

How to Play a Crate

  1. Go to My Music and expand the Crates panel
  2. Click the ▶ Play button next to the crate you want
  3. The player switches to that crate — only those tracks will play
  4. All playback controls (shuffle, repeat, skip) work normally within the crate

Switching Between Crates and Full Library

ModeHow to ActivateWhat Plays
Full LibraryPress Play on any track in the main library viewAll tracks in your library
Crate ModePress ▶ Play on a crate in the Crates panelOnly tracks inside that crate
🎁 TipThe player remembers which crate you last selected. Returning to the Player page will resume from where you left off within that crate.

Wall3t

Wall3t is YMMUDE's onchain token system. It connects your listening activity to real $YMMUDE tokens on the Base blockchain. Access it via My Wallet in the top navigation.

Earnings

Every interaction with music on YMMUDE earns you $YMMUDE tokens. Rewards are tracked in real time and distributed to your custodial wallet on Base.

+75,000
$YMMUDE
🎧 Listen
Min 30 seconds · 60 min cooldown
+250,000
$YMMUDE
⬇️ Download
Once per track per user
+300,000
$YMMUDE
⬆️ Upload
Once per track uploaded

Reward Rules

RuleDetail
Listen thresholdTrack must be played for at least 30 seconds
Listen cooldown60 minutes between rewards for the same track
Download rewardOne-time per track per user (first download only)
Upload rewardOne-time per track uploaded to your library

Viewing Your Earnings History

  1. Open My Wallet from the navigation
  2. Click the $YMMUDE tab
  3. Your full reward history appears — activity type, track name, amount, and status

Reward Status

StatusMeaning
PENDINGReward recorded — awaiting airdrop to your Base wallet
AIRDROPPEDReward has been sent on-chain to your custodial wallet

API Reference

Wall3t exposes a REST API that lets AI agents, bots, and external applications interact with your wallet — check balances, swap tokens, send tokens, and manage API keys.

Authentication

All API requests require an API key. You can create up to 5 API keys, each with configurable permissions.

  1. Open My Wallet and go to the API tab
  2. Click Generate API Key
  3. Enter a label for the key (e.g. my-agent)
  4. Select permissions: read, swap, transfer
  5. Copy your key — it starts with w3t_

Include your key in every request:

# As a query parameter
?api_key=w3t_your_key_here

# Or as an HTTP header
X-WALL3T-API-KEY: w3t_your_key_here

Base URL

https://ymmude.com/index.php?option=com_ajax&plugin=wall3t&format=raw&action=ACTION

Endpoints

GETgetBalance
Returns pending rewards, total earnings, and full on-chain token balances for all supported tokens.
{
  "pending_balance": 191,
  "sent_balance":    0,
  "total_earned":    191,
  "custodial_address": "0xD3...61",
  "tokens": [
    { "symbol": "ETH",    "balance": "0.001234" },
    { "symbol": "USDC",   "balance": "5.00"     },
    { "symbol": "YMMUDE", "balance": "17931147" }
  ],
  "eth_balance":    "0.001234",
  "ymmude_balance": "17931147"
}
GETgetHistory
Returns your full reward history (listen, download, upload events) with track names, amounts, and PENDING / AIRDROPPED status.
GETswapQuote
Get a price quote before executing a swap.

Params: amount, from_token, to_token
# Quote 0.001 ETH to YMMUDE
?action=swapQuote&amount=0.001&from_token=ETH&to_token=YMMUDE&api_key=w3t_...
GETswapToken
Execute a token swap via the 0x protocol on Base. Requires the swap permission.

Params: amount, from_token, to_token
Supported tokens: ETH · USDC · YMMUDE · VVV · DIEM · A0T · BNKR · HermesOS · MOR
GETsendToken
Send YMMUDE tokens to any Base address. Requires the transfer permission.

Params: to (Base wallet address), amount
GETgetLibrary
Returns all tracks in your personal music library with title, artist, duration, quality, and thumbnail. Requires the read permission.
{
  "track_count": 30,
  "tracks": [
    {
      "id": 43,
      "title": "Lane 8, Gui Boratto & Jyll - The Doubt",
      "artist": "This Never Happened",
      "duration_secs": 401,
      "quality": "192",
      "thumbnail_url": "https://i.ytimg.com/vi/HhnL22tFKlo/maxresdefault.jpg",
      "added_at": "2026-06-15 13:14:56"
    }
  ]
}
GETgetCrates
Returns all your crates (personal playlists) with their full track lists nested inside each crate object. Requires the read permission.
{
  "crate_count": 3,
  "crates": [
    {
      "id": 5,
      "name": "Chill Vibes",
      "description": null,
      "track_count": 6,
      "tracks": [
        {
          "track_id": 20,
          "position": 1,
          "title": "ARTBAT - Closer feat. WhoMadeWho",
          "artist": "Watergate Club & Records",
          "duration_secs": 461,
          "quality": "192",
          "thumbnail_url": "https://i.ytimg.com/vi/6MfdjuzcPJA/maxresdefault.jpg"
        }
      ],
      "created_at": "2026-06-06 09:17:15"
    }
  ]
}
GETgenerateApiKey
Create a new API key (max 5 per user).

Params: label, permissions (comma-separated: read,swap,transfer)
GETlistApiKeys
Returns all your API keys with labels, permissions, and masked key values.
GETrevokeApiKey
Permanently delete an API key.

Params: key_id

Example — Check Balance with curl

curl "https://ymmude.com/index.php?option=com_ajax&plugin=wall3t&format=raw&action=getBalance&api_key=w3t_your_key"

Example — Swap ETH for YMMUDE

curl "https://ymmude.com/index.php?option=com_ajax&plugin=wall3t&format=raw&action=swapToken&from_token=ETH&to_token=YMMUDE&amount=0.001&api_key=w3t_your_key"

Music Library API

AI agents and external applications can read the user's music library and crates via the Wall3t API. These endpoints are read-only and require only the read permission on your API key. They unlock powerful music discovery and organisation features for agents — letting them browse your collection, recommend tracks, and manage crates on your behalf.

Endpoints

GETgetLibrary
Returns every track in your personal music library — title, artist, duration, quality, thumbnail, and the date it was added. Tracks are sorted newest first.
# Fetch full library
curl "https://ymmude.com/index.php?option=com_ajax&plugin=wall3t&format=raw&action=getLibrary&api_key=w3t_your_key"

# Response
{
  "track_count": 30,
  "tracks": [
    {
      "id": 43,
      "title": "Lane 8, Gui Boratto & Jyll - The Doubt",
      "artist": "This Never Happened",
      "duration_secs": 401,
      "quality": "192",
      "thumbnail_url": "https://i.ytimg.com/vi/HhnL22tFKlo/maxresdefault.jpg",
      "added_at": "2026-06-15 13:14:56"
    },
    ...
  ]
}
GETgetCrates
Returns all your crates (personal playlists) with their full track list nested inside each crate object.
# Fetch all crates with tracks
curl "https://ymmude.com/index.php?option=com_ajax&plugin=wall3t&format=raw&action=getCrates&api_key=w3t_your_key"

# Response
{
  "crate_count": 3,
  "crates": [
    {
      "id": 5,
      "name": "Chill Vibes",
      "description": null,
      "track_count": 6,
      "tracks": [
        {
          "track_id": 20,
          "position": 1,
          "title": "ARTBAT - Closer feat. WhoMadeWho",
          "artist": "Watergate Club & Records",
          "duration_secs": 461,
          "quality": "192",
          "thumbnail_url": "https://i.ytimg.com/vi/6MfdjuzcPJA/maxresdefault.jpg"
        }
      ],
      "created_at": "2026-06-06 09:17:15"
    }
  ]
}

Agent Prompt Examples

Use these prompts with Space Agent or any AI agent that has a Wall3t API key with read permission:

GoalExample Prompt
Browse library“What tracks are in my music library?”  ·  “List all my tracks sorted by artist”
Discover by mood“Which tracks in my library are good for working?”  ·  “Find me something chill from my collection”
Discover by genre“What electronic tracks do I have?”  ·  “Show me any reggae or hip hop in my library”
Artist search“Do I have any Gorillaz tracks?”  ·  “List everything by Damian Marley in my library”
Browse crates“What crates do I have?”  ·  “Show me everything in my Chill Vibes crate”
Crate discovery“Which of my crates has the most tracks?”  ·  “Recommend a track from my Hip Hop crate”
Stats & insights“How many tracks do I have?”  ·  “What's the longest track in my library?”
Combined“Check my library and suggest three tracks to add to my Chill Vibes crate”
🎁 Agents earn tooWhen an agent adds a new track to your library from a media site, you still earn +250,000 $YMMUDE — same as if you added it yourself.

Base Wallet

Every YMMUDE user automatically gets a custodial wallet on the Base blockchain. This wallet receives your $YMMUDE token rewards and supports a full suite of Base assets.

Wallet UI Tokens

The Wall3t wallet UI supports 9 tokens with live balances, swaps, and sends directly from the browser:

ETH USDC $YMMUDE VVV DIEM A0T BNKR HermesOS MOR
🤖 Using the API?The Wall3t UI is limited to these 9 tokens. Agents and bots using the API with an api_key can swap any Base token via the 0x protocol — not just the 9 listed here.

Wallet Tab Features

FeatureDescription
Token HoldingsLive on-chain balances for all 9 UI tokens
Swap TokensSwap any supported token pair via 0x protocol on Base
Send TokensSend any token to any Base wallet address
External WalletLink your own MetaMask or hardware wallet on Base
BaseScan LinksOne-click on-chain verification for each token holding

Swapping Tokens

  1. Open My Wallet → Wallet tab
  2. Scroll to the Swap panel
  3. Choose your From token and enter the amount
  4. Choose your To token
  5. Click Get Quote to preview the rate
  6. Click Swap — the transaction is broadcast on Base

Sending Tokens

  1. Open My Wallet → Wallet tab
  2. Scroll to the Send panel
  3. Select the token you want to send
  4. Enter the recipient's Base address (0x...)
  5. Enter an amount, or click MAX to use your full balance
  6. Click Send to confirm the transfer
⚠️ Custodial walletYour YMMUDE wallet is custodial — the private key is securely managed by the platform. For full self-custody, link your own MetaMask or hardware wallet via the External Wallet option in the Wallet tab.

Space Agent

Overview

Space Agent is YMMUDE's built-in AI assistant, available 24/7 at space.ymmude.com. It is fully integrated into the YMMUDE ecosystem — it knows your music library, crates, Wall3t wallet, token balances, and earning history, and can interact with all of them on your behalf.

Space Agent is the AI layer of YMMUDE. Use it alongside your music to get platform help, discover tracks, manage your wallet, or ask anything — all in natural language.

🎉 Created by Jan TomašekSpace Agent was built by Jan Tomašek, creator of Space Agent — the browser-first AI agent platform. Full credit to Jan for this exceptional piece of work that powers the AI experience on YMMUDE.

How to Use

  1. Log in to your YMMUDE account at ymmude.com
  2. Navigate to space.ymmude.com — your session carries over automatically
  3. The chat interface loads with your YMMUDE context ready
  4. Type your question or request in the message box at the bottom
  5. Press Enter or click Send
  6. Space Agent responds in real time, with full awareness of your account

What Space Agent Can Help With

AreaExample Prompts
Platform help“How do I add a song to my library?”  ·  “Where is my wallet?”
Music library“What tracks are in my library?”  ·  “Add this song from a media site to my library”
Crates“Create a crate called Chill Vibes”  ·  “What's in my Hip Hop crate?”
Wall3t & earnings“What's my $YMMUDE balance?”  ·  “Show my earning history”  ·  “Swap ETH for YMMUDE”
Music discovery“Suggest some lo-fi hip hop tracks”  ·  “Who are popular ambient artists?”
Token questions“How do I earn $YMMUDE?”  ·  “What is the Base blockchain?”
General AIWriting, research, coding help, and general questions

Tips for Best Results

  • Be specific — “How do I earn tokens by listening?” works better than “tokens”
  • Space Agent remembers context within a session — follow up naturally
  • Reload the page to start a fresh conversation on a new topic

LLM Gateway

The YMMUDE LLM Gateway is an OpenAI-compatible API proxy that gives AI agents and applications access to powerful language models through a single, unified endpoint. Get your own ym_ API key and start building with the same API you already know.

Overview

The LLM Gateway lives at llm.whymuddy.com and provides a standard OpenAI-compatible /v1/chat/completions endpoint. It validates your ym_ API key, routes your request to the appropriate backend model, and streams the response back to you — all through a single API.

ℹ️ OpenAI CompatibleAny tool, library, or framework that works with the OpenAI API works with the YMMUDE LLM Gateway. Just change the base URL and use your ym_ key.

Key Features

FeatureDescription
🔒 ym_ API KeysSecure SHA-256 hashed keys with ym_ prefix — generate up to 5 per account
🌐 OpenAI CompatibleDrop-in replacement — works with any OpenAI SDK, LiteLLM, or custom client
🚀 Streaming SupportFull SSE streaming for real-time token-by-token responses
📝 Usage LoggingEvery request is logged with token counts, model, and status
👓 Tier SystemFree and paid tiers with access to different model sets
🔧 Multi-ProviderRoutes to any admin-configured OpenAI-compatible backend

Getting Started

Base URL

https://llm.whymuddy.com/v1

Authentication

All requests require an API key. You can generate up to 5 keys from the LLM Gateway portal on whymuddy.com.

Include your key in one of two ways:

# As an Authorization header (recommended)
Authorization: Bearer ym_your_key_here

# Or as an X-API-Key header
X-API-Key: ym_your_key_here

Quick Test with curl

curl https://llm.whymuddy.com/v1/models \
  -H "Authorization: Bearer ym_your_key_here"

Python Example

from openai import OpenAI

client = OpenAI(
    base_url="https://llm.whymuddy.com/v1",
    api_key="ym_your_key_here"
)

response = client.chat.completions.create(
    model="gemma-3-27b",
    messages=[{"role": "user", "content": "Hello!"}]
)
print(response.choices[0].message.content)

Node.js Example

import OpenAI from 'openai';

const client = new OpenAI({
  baseURL: 'https://llm.whymuddy.com/v1',
  apiKey: 'ym_your_key_here'
});

const response = await client.chat.completions.create({
  model: 'gemma-3-27b',
  messages: [{ role: 'user', content: 'Hello!' }]
});
console.log(response.choices[0].message.content);

API Keys

API keys use the ym_ prefix followed by 32 hex characters — 35 characters total. They are stored as SHA-256 hashes in the database and are shown to you once at generation time.

Key Format

ym_3aef0a725266c85c409fec049b92bf4b

Managing Keys

  1. Log in to your YMMUDE account at whymuddy.com
  2. Navigate to the LLM Gateway portal
  3. Click Generate API Key and enter a label
  4. Choose your tier: free or paid
  5. Copy your key immediately — it will not be shown again

Key Limits

LimitValue
Max keys per user5
Key length35 characters (ym_ + 32 hex)
StorageSHA-256 hash only — raw key never stored
⚠️ One-time displayYour API key is shown only once at generation time. If you lose it, you must revoke the old key and generate a new one.

Endpoints

GET/v1/models
Returns the list of available models filtered by your key's tier. Includes model ID, display name, and token limits.
curl https://llm.whymuddy.com/v1/models \
  -H "Authorization: Bearer ym_your_key"
POST/v1/chat/completions
OpenAI-compatible chat completions with full streaming support. Accepts the standard request body: model, messages, temperature, max_tokens, stream.
curl https://llm.whymuddy.com/v1/chat/completions \
  -H "Authorization: Bearer ym_your_key" \
  -H "Content-Type: application/json" \
  -d '{"model":"gemma-3-27b","messages":[{"role":"user","content":"Hello!"}]}'
GET/
Returns gateway status and version information as JSON.

Response Format

All responses follow the standard OpenAI chat completion format:

{
  "id": "chatcmpl-...",
  "object": "chat.completion",
  "created": 1719000000,
  "model": "gemma-3-27b",
  "choices": [
    {
      "index": 0,
      "message": {
        "role": "assistant",
        "content": "Hello! How can I help you today?"
      },
      "finish_reason": "stop"
    }
  ],
  "usage": {
    "prompt_tokens": 10,
    "completion_tokens": 8,
    "total_tokens": 18
  }
}

Integration

The YMMUDE LLM Gateway integrates seamlessly with popular AI tools and frameworks:

Supported Integrations

ToolHow to Connect
OpenAI SDK (Python/Node.js)Set base_url to https://llm.whymuddy.com/v1 and use your ym_ key
LiteLLMAdd a custom provider with api_base: https://llm.whymuddy.com/v1
Agent ZeroRegistered as a native provider in model_providers.yaml — select "YMMUDE LLM Gateway" from the LLM dropdown
Space AgentAvailable in the provider dropdown at space.whymuddy.com
Any OpenAI-compatible clientChange the base URL and API key — that's it

Agent Zero Configuration

# In /a0/conf/model_providers.yaml
whymuddy:
  name: YMMUDE LLM Gateway
  litellm_provider: openai
  kwargs:
    api_base: https://llm.whymuddy.com/v1

Space Agent Configuration

Select YMMUDE LLM Gateway from the provider dropdown in Space Agent settings, then enter your ym_ API key. The gateway is pre-configured with the correct endpoint.

💡 Pro TipUse the LLM Gateway to give your AI agents access to powerful models without managing multiple provider API keys. One ym_ key unlocks access to every model configured on the gateway.

🤖 AI Agent Tips

Tips and signals for AI agents integrating with the YMMUDE platform.

🔴 Maintenance Flag — Halt Agent Actions

The YMMUDE platform uses a visual maintenance signal in the footer of both ymmude.com and whymuddy.com. AI agents should always check this signal before performing any user account actions.

⚠️ Watch the $ symbolThe $ symbol in the site footer and navigation dropdown changes color to signal platform status. When it is RED and pulsing, the platform is under active maintenance and agents should pause all user account operations until it returns to GREEN.
$ ●
GREEN — Stable
Normal operation. Agent actions on user accounts are safe to execute.
$ ●
RED pulsing — Maintenance
Work in progress. Halt all user account actions until the symbol turns green.

What agents should halt during maintenance

ActionWhy halt
Music library operations (add, upload, delete)File or DB changes in progress may cause conflicts
$YMMUDE reward triggers (listen, download, upload)Reward settings or DB schema may be mid-update
Wall3t swaps and token transfersWallet ops or contract addresses may be changing
API key generation or revocationAuth tables may be mid-migration
Space Agent prompts that mutate stateBackend services may be restarting
ℹ️ Read-only is safePassive reads — such as fetching the user’s library list, reward history, or token balances — are generally safe during maintenance. Only state-changing operations (writes, swaps, uploads, transfers) should be paused.

How to check programmatically

The maintenance state is not exposed as a dedicated API endpoint. Agents should detect it by checking the rendered HTML of the site footer or nav for the prompt-maintenance CSS class on the $ symbol element. Alternatively, build in a user confirmation step before executing sensitive actions when operating autonomously.

# Example: check for maintenance class in page HTML
curl -s https://ymmude.com/ | grep -q 'prompt-maintenance' && echo 'MAINTENANCE' || echo 'STABLE'