Everything you need to integrate, customize, and build with frozy.lol.
frozy.lol is a next-generation profile builder platform that lets you create fully customizable bio pages with custom themes, background music, live widgets, Discord decorations, and 50+ visual effects — all free.
Unlike generic link-in-bio services, frozy.lol gives you complete creative freedom. No templates that look like everyone else's. Your profile, your rules.
Get your profile up and running in 5 minutes:
config.js to set your username, profile image, and social links.frozy.lol/username link everywhere.
// 1. Set your profile image
const CONFIG = {
profileImage: "https://i.imgur.com/your-image.png",
// 2. Set your Discord invite
discordServerInvite: "https://discord.gg/yourserver",
// 3. Customize your social links
socialLinks: [
{ name: "GitHub", icon: "fa-brands fa-github", url: "https://github.com/" }
]
};
When you register, the following data is stored securely:
| Field | Type | Description |
|---|---|---|
| username | String | Your unique profile identifier (3-24 chars, a-z, 0-9, _) |
| String | Your email address (used for login and recovery) | |
| password | Hash | bcrypt hashed — never stored in plain text |
| registered_at | ISO Date | Timestamp of registration |
| role | String | "user" or "admin" |
password_hash() with PASSWORD_DEFAULT). We never store or transmit passwords in plain text.
Every visual aspect of your profile is customizable through CSS custom properties (variables) in the :root section:
/* Core palette — edit these to change your entire theme */
:root {
--bg: #02020a; // Background
--card: #0e0e22; // Card background
--tx: #ececf5; // Primary text
--a: #7c3aed; // Accent color
--c: #06b6d4; // Cyan accent
}
You can change the entire look of your profile by modifying just 5-6 variables. We also support gradient accents through --g4 and custom border-radius with --r.
frozy.lol comes with 50+ visual effects that you can enable and stack together:
| Effect | Category | Performance |
|---|---|---|
| Cursor Trail | Mouse | Light |
| Matrix Rain | Background | Medium |
| Aurora | Background | Heavy |
| Neon Glow | Border | Light |
| Particle Rain | Background | Medium |
| Glitch Text | Typography | Light |
| Heartbeat | Animation | Light |
| Fireworks | Overlay | Heavy |
| Snowfall | Background | Light |
| Rainbow | Border | Light |
You can add background music to your profile from multiple sources:
Music auto-plays when someone opens your profile. Volume controls are provided in the profile UI.
Embed live data from your favorite platforms directly on your profile:
Deep Discord integration is the core of frozy.lol. Features include:
The frozy.lol API is built on simple JSON endpoints. All endpoints return JSON with appropriate CORS headers.
Returns live platform statistics including user count, links created, total views, and Discord member count.
{
"users": 24187,
"links_created": 89243,
"servers_connected": 1247,
"total_views": 4582912,
"generated_at": "2026-06-17T12:00:00+00:00"
}
Register a new user account. All fields are required.
| Field | Type | Description |
|---|---|---|
| username | String | 3-24 chars, lowercase, a-z, 0-9, _ |
| String | Valid email address | |
| password | String | Min 8 chars, 1 uppercase, 1 number, 1 special |
// POST /register.php
{
"username": "janek",
"email": "jan@example.com",
"password": "SecurePass123!"
}
// Response
{
"success": true,
"message": "Account created!",
"username": "janek"
}
Authenticate with username/email and password. Returns user data on success.
| Field | Type | Description |
|---|---|---|
| identifier | String | Username or email |
| password | String | Account password |
| remember | Boolean | Whether to set a remember-me cookie |
The config.js file is the central configuration point for your frozy.lol instance:
| Key | Type | Default | Description |
|---|---|---|---|
| siteName | String | "frozy.lol" | Site title / brand name |
| profileImage | String | — | URL to your profile picture |
| discordServerInvite | String | — | Your Discord server invite link |
| panelUrl | String | "/register.html" | Registration page URL |
| footerText | String | © 2026... | Custom footer text |
| socialLinks | Array | [] | Array of social link objects |
Data is stored in flat JSON files — no database required. Perfect for small to medium deployments.
| File | Purpose | Auto-created |
|---|---|---|
| stats.json | Live platform statistics | Yes (by stats.php) |
| userspass.json | User accounts (hashed passwords) | Yes (by register.php) |
| userslogin.json | Login history logs | Yes (by login.php) |
| Requirement | Version | Notes |
|---|---|---|
| PHP | 7.4+ | 8.2+ recommended for best performance |
| Web Server | Apache/Nginx | mod_rewrite recommended for clean URLs |
| JSON | — | json_encode/json_decode required |
| File Permissions | 0755 | Write access for JSON files |
All passwords are hashed using PHP's built-in password_hash() with the PASSWORD_DEFAULT algorithm (currently bcrypt).
// Hashing (registration)
$hash = password_hash($password, PASSWORD_DEFAULT);
// Verification (login)
$isValid = password_verify($password, $storedHash);
Bcrypt automatically handles salting and cost factor. The resulting hash is 60 characters long and includes the salt, cost, and hash in a single string.
All API endpoints include permissive CORS headers for development. In production, these should be restricted:
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET, POST, OPTIONS');
header('Access-Control-Allow-Headers: Content-Type');
header('Content-Type: application/json');
To prevent abuse, the following rate limits apply:
Rate limiting is enforced via server-level configuration (e.g., Apache mod_ratelimit or Nginx limit_req).
Links & Widgets
Social Links
Add unlimited social links to your profile. Each link can have:
socialLinks: [ { name: "GitHub", icon: "fa-brands fa-github", url: "https://github.com/" }, { name: "Twitter", icon: "fa-brands fa-x-twitter", url: "https://x.com/" }, { name: "Discord", icon: "fa-brands fa-discord", url: "https://discord.gg/" } ]