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.
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.
- Go to My Music in the top navigation
- Click Add from Media Sites or use the search bar
- Type a song title, artist name, or paste a media site URL
- Browse results and click Add to Library on the track you want
- The track downloads in the background — it appears in your library when ready
Uploading Your Own Tracks
Have audio files on your device? Upload them directly to your library.
- Go to My Music in the top navigation
- Click the Upload button
- Select one or more audio files from your device
- Files upload and appear in your library immediately
Supported Formats & Limits
| Format | Extension | Max Size |
|---|---|---|
| MP3 | .mp3 | 100 MB |
| M4A / AAC | .m4a | 100 MB |
| OGG Vorbis | .ogg | 100 MB |
| FLAC | .flac | 100 MB |
| WAV | .wav | 100 MB |
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
- Open My Music from the navigation
- Scroll to the Crates panel
- Click New Crate and enter a name
- The crate appears in your list immediately and is ready to fill
Adding Tracks to a Crate
- In your library, locate the track you want to add
- Click the Add to Crate button on the track
- Select the target crate from the dropdown
- 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)
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.
The player loads automatically on the Player page. Your playback position and settings are preserved between visits.
Playback Controls
| Control | Action |
|---|---|
| ⏪ Previous | Jump to the previous track in the queue |
| ▶️ / ▮▮ Play/Pause | Start or pause playback |
| ⏩ Next | Skip to the next track |
| 🔀 Shuffle | Toggle randomized playback order |
| 🔁 Repeat | Repeat current track or the full queue |
| 🔊 Volume | Adjust playback volume |
| Progress bar | Click 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
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
- Go to My Music and expand the Crates panel
- Click the ▶ Play button next to the crate you want
- The player switches to that crate — only those tracks will play
- All playback controls (shuffle, repeat, skip) work normally within the crate
Switching Between Crates and Full Library
| Mode | How to Activate | What Plays |
|---|---|---|
| Full Library | Press Play on any track in the main library view | All tracks in your library |
| Crate Mode | Press ▶ Play on a crate in the Crates panel | Only tracks inside 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.
Reward Rules
| Rule | Detail |
|---|---|
| Listen threshold | Track must be played for at least 30 seconds |
| Listen cooldown | 60 minutes between rewards for the same track |
| Download reward | One-time per track per user (first download only) |
| Upload reward | One-time per track uploaded to your library |
Viewing Your Earnings History
- Open My Wallet from the navigation
- Click the $YMMUDE tab
- Your full reward history appears — activity type, track name, amount, and status
Reward Status
| Status | Meaning |
|---|---|
| PENDING | Reward recorded — awaiting airdrop to your Base wallet |
| AIRDROPPED | Reward 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.
- Open My Wallet and go to the API tab
- Click Generate API Key
- Enter a label for the key (e.g.
my-agent) - Select permissions:
read,swap,transfer - 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
{
"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"
}
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_...
swap permission.Params:
amount, from_token, to_tokenSupported tokens: ETH · USDC · YMMUDE · VVV · DIEM · A0T · BNKR · HermesOS · MOR
transfer permission.Params:
to (Base wallet address), amountread 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"
}
]
}
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"
}
]
}
Params:
label, permissions (comma-separated: read,swap,transfer)Params:
key_idExample — 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
# 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"
},
...
]
}
# 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:
| Goal | Example 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” |
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:
api_key can swap any Base token via the 0x protocol — not just the 9 listed here.Wallet Tab Features
| Feature | Description |
|---|---|
| Token Holdings | Live on-chain balances for all 9 UI tokens |
| Swap Tokens | Swap any supported token pair via 0x protocol on Base |
| Send Tokens | Send any token to any Base wallet address |
| External Wallet | Link your own MetaMask or hardware wallet on Base |
| BaseScan Links | One-click on-chain verification for each token holding |
Swapping Tokens
- Open My Wallet → Wallet tab
- Scroll to the Swap panel
- Choose your From token and enter the amount
- Choose your To token
- Click Get Quote to preview the rate
- Click Swap — the transaction is broadcast on Base
Sending Tokens
- Open My Wallet → Wallet tab
- Scroll to the Send panel
- Select the token you want to send
- Enter the recipient's Base address (
0x...) - Enter an amount, or click MAX to use your full balance
- Click Send to confirm the transfer
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.
How to Use
- Log in to your YMMUDE account at ymmude.com
- Navigate to space.ymmude.com — your session carries over automatically
- The chat interface loads with your YMMUDE context ready
- Type your question or request in the message box at the bottom
- Press Enter or click Send
- Space Agent responds in real time, with full awareness of your account
What Space Agent Can Help With
| Area | Example 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 AI | Writing, 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.
ym_ key.Key Features
| Feature | Description |
|---|---|
| 🔒 ym_ API Keys | Secure SHA-256 hashed keys with ym_ prefix — generate up to 5 per account |
| 🌐 OpenAI Compatible | Drop-in replacement — works with any OpenAI SDK, LiteLLM, or custom client |
| 🚀 Streaming Support | Full SSE streaming for real-time token-by-token responses |
| 📝 Usage Logging | Every request is logged with token counts, model, and status |
| 👓 Tier System | Free and paid tiers with access to different model sets |
| 🔧 Multi-Provider | Routes 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
- Log in to your YMMUDE account at whymuddy.com
- Navigate to the LLM Gateway portal
- Click Generate API Key and enter a label
- Choose your tier:
freeorpaid - Copy your key immediately — it will not be shown again
Key Limits
| Limit | Value |
|---|---|
| Max keys per user | 5 |
| Key length | 35 characters (ym_ + 32 hex) |
| Storage | SHA-256 hash only — raw key never stored |
Endpoints
curl https://llm.whymuddy.com/v1/models \
-H "Authorization: Bearer ym_your_key"
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!"}]}'
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
| Tool | How to Connect |
|---|---|
| OpenAI SDK (Python/Node.js) | Set base_url to https://llm.whymuddy.com/v1 and use your ym_ key |
| LiteLLM | Add a custom provider with api_base: https://llm.whymuddy.com/v1 |
| Agent Zero | Registered as a native provider in model_providers.yaml — select "YMMUDE LLM Gateway" from the LLM dropdown |
| Space Agent | Available in the provider dropdown at space.whymuddy.com |
| Any OpenAI-compatible client | Change 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.
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.
$ 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.What agents should halt during maintenance
| Action | Why 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 transfers | Wallet ops or contract addresses may be changing |
| API key generation or revocation | Auth tables may be mid-migration |
| Space Agent prompts that mutate state | Backend services may be restarting |
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'