Syrup City Tracker

πŸ¦„ Unicorn & Memes Generator πŸ¦„

πŸ¦„ UNICORN & MEMES GENERATOR πŸ¦„

πŸ“€ UPLOAD YOUR IMAGE

Click to upload or drag & drop
Supports: JPG, PNG, GIF, WEBP

✨ ADD STICKERS

πŸ“ ADD TEXT

🎨 PIXEL EFFECTS

πŸ’œ
PURPLE OVERLAY
Adds mystical purple glow
🌈
RGB SPLIT
Retro chromatic aberration
✨
UWU SPARKLES
Scattered emoji magic
🎭
GLITCH MODE
Digital corruption vibes

πŸ’Ύ SAVE & SHARE

HOW TO USE

1. Upload your base image (JPG, PNG, GIF supported)

2. Add stickers by clicking on them - drag to position

3. Type your meme text in the top and bottom fields

4. Select pixel effects to apply retro styling

5. Generate and download your creation!

Pro Tip: Try combining multiple effects for unique looks!

Pixel Art Editor ✍️

β€’ LORE:

It's In The Name

I hope this message finds you well.

UwUPunk:

The Start of this madness we created dates back to this small collection of unicorns who were eager to be more than just some unicorn pfp collection on the Solana chain. A Unicorn Punk not like the collection but as an ethos, we are cyber punks existing long before this and what we do next will make sure that even long after we will still remain. 24 x 24 pixels immortalized onchain dedicated to benedict.

UwUMaker:

More pixels, more fun! While exploring 1:1 creation with the punks I stumbled upon my old file for a taller unicorn with a higher pixel count! Messing around with it and making art with it for the TL was pretty fun so I kept making them and then the name came to me while staring at some of our other favourite collections! Because yes mother fucker I like this place and I buy jpegs and stuff because I believe in this place. UwUMaker essence is simple really, Make things by any means doesn't matter what that may be either, whether u are a maker of markets, artwork, music, motion, motivation, memes its all the same thing. UwUMaker is meant for all of the bright and brilliant minds to wear a unicorn because you are a UNICORN.

[BENEDICT]:

Time to return Home. This collection is a blend of pure love and magic for the 2 communities I love the most!! We hope to really carve a spot out on Ethereum! The place in which we will be β€œreturning too” Eth is where I started my crypto journey and that is where all the creators (in my opinion) are going to stand the test of time and create on top of for the betterment of the entire ecosystem! A love letter to some of my fav peeple in the space who are either remilia, a unicorn or both. The crusade must go on but on a different battlefield. Will you become a nation leveling force anon?

uSYRUP CITYπŸ₯€πŸ‡:

The essence, Where the magic is stored, Home. Syrup City is more than just some memoji on the meme market, its a spiritual movement. Inside of all unicorn holders is syrup city, you must find it in yourself. Once you find the city a unicorns eyes glow purple and they roam a city in their mind while physically anyone searching for the city physically will eventually find them.. But not in a good way. You see since its inside of every unicorn even the ones searching they eventually run into a citizen physically with red eyes in the HAUNTED WOODS, completely at the mercy of the citizen who is enjoying time in syrup city while simultaneously being in the HAUNTED WOODS. Citizens are more magical than most since they can be in 2 places at once, all who seek to find something outside of themselves eventually succumb to something they believe is a unicorn with good nature, it always turns out to be that they end up in the woods while a citizen gets to enter syrup city 3 times 😏.

NFT Generator

NFT Layer Generator

Layer Structure:

Compatibility Rules


Syrup City DungeonπŸ₯€πŸ‡

const connection = new solanaWeb3.Connection("https://api.mainnet-beta.solana.com"); // Collections to filter by name patterns const COLLECTIONS = { "UwUPunks": /uwu\s*punk/i, "UwUMaker": /uwu\s*maker/i, "KAIJUNICORN": /kaiju/i, "Unicornio": /unicornio/i, "Unicornio Legends": /unicornio\s*legend/i }; async function connectWallet() { try { if (window.solana && window.solana.isPhantom) { const response = await window.solana.connect(); const publicKey = response.publicKey.toString(); document.getElementById("connectButton").innerText = "Connected!"; document.getElementById("walletAddress").innerText = "Wallet: " + publicKey; await fetchNFTHoldings(publicKey); } else { document.getElementById("walletAddress").innerText = "No Solana wallet found. Install Phantom: https://phantom.app/"; } } catch (error) { console.error("Error connecting to wallet:", error); document.getElementById("walletAddress").innerText = "Failed to connect: " + error.message; } } async function fetchNFTHoldings(publicKey) { try { const pubkey = new solanaWeb3.PublicKey(publicKey); const tokenAccounts = await connection.getParsedTokenAccountsByOwner(pubkey, { programId: new solanaWeb3.PublicKey("TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA") }); const nftHoldings = {}; for (const [collectionName] of Object.entries(COLLECTIONS)) { nftHoldings[collectionName] = []; } const otherNFTs = []; for (const account of tokenAccounts.value) { const tokenAmount = account.account.data.parsed.info.tokenAmount; if (tokenAmount.amount === "1" && tokenAmount.decimals === 0) { // NFT check const mintAddress = account.account.data.parsed.info.mint; const metadata = await getNFTMetadata(mintAddress); if (metadata && metadata.data.name) { const nftName = metadata.data.name; let matched = false; for (const [name, pattern] of Object.entries(COLLECTIONS)) { if (pattern.test(nftName)) { nftHoldings[name].push(nftName); matched = true; break; } } if (!matched) { otherNFTs.push(nftName); } } } } displayHoldings(nftHoldings, otherNFTs); } catch (error) { console.error("Error fetching NFTs:", error); document.getElementById("nftHoldings").innerHTML = "Error fetching NFT holdings."; } } async function getNFTMetadata(mintAddress) { try { const mintPubkey = new solanaWeb3.PublicKey(mintAddress); const pda = await solanaWeb3.PublicKey.findProgramAddress( [ Buffer.from("metadata"), new solanaWeb3.PublicKey("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s").toBuffer(), mintPubkey.toBuffer() ], new solanaWeb3.PublicKey("metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s") ); const accountInfo = await connection.getParsedAccountInfo(pda[0]); if (accountInfo.value) { const decoder = new TextDecoder(); const data = accountInfo.value.data; const nameLength = data.readUInt32LE(1 + 4); const name = decoder.decode(data.slice(1 + 4 + 4, 1 + 4 + 4 + nameLength)).replace(/\0/g, ''); return { data: { name } }; } return null; } catch (error) { console.error("Error fetching metadata for", mintAddress, error); return null; } } function displayHoldings(nftHoldings, otherNFTs) { const holdingsDiv = document.getElementById("nftHoldings"); let html = "

Your NFT Holdings:

    "; for (const [collection, nfts] of Object.entries(nftHoldings)) { html += `
  • ${collection}: ${nfts.length > 0 ? nfts.join(", ") : "None"}
  • `; } html += `

Other NFTs:

    `; html += otherNFTs.length > 0 ? `
  • ${otherNFTs.join(", ")}
  • ` : `
  • None
  • `; html += "
"; holdingsDiv.innerHTML = html; } window.onload = async () => { if (window.solana && window.solana.isConnected) { const response = await window.solana.connect({ onlyIfTrusted: true }); const publicKey = response.publicKey.toString(); document.getElementById("connectButton").innerText = "Connected!"; document.getElementById("walletAddress").innerText = "Wallet: " + publicKey; await fetchNFTHoldings(publicKey); } };