BLONKS are dynamic critters living and evolving entirely on the EVM (Ethereum Virtual Machine). They change a bit on transfer, and after a recent evolutionary jump, they can shapeshift!
Because they are so unique (dynamic SVGs generated with live data from the blockchain, on the blockchain), most websites aren't designed to show their most up-to-date state. Please use the preview functions on this site (or directly from the smart contract) to see a BLONKS token's current, true form - or preview how it will look after a transfer or a shapeshift!
Enter a valid Token ID in the form below to retrieve BLONKS data from the blockchain and display it as a SVG or PNG.
OPTIONAL: Enter the shapeshifter-state and/or wallet address to preview how the token would look under those conditions.
There's also a 'headless' renderer that pulls parameters from the URL (click to expand)
- Set the tokenID in the URL like this: https://render.blonks.xyz/?id=0
- Optional: add &address=<the address to preview> to the URL to preview an address.
- Optional: add &png=true to the URL to render the BLONKS as a png.
- Optional: add &shapeshift=<the shifter-state> to the URL to render the BLONKS in a certain shapeshifter state.
- Optional: add &size=<dimension of a side> to the URL to render the BLONKS at a specific size.
Shapeshift Your BLONKS!
Currently, there are 4 different shapeshifter states available, each with a 'maximum capacity'.
The images in the following section are generated entirely (and randomly) from the contract. Their entropy changes every block, and most of the time, all renders are made in the same block, resulting in what are essentially 4 views of a potential token!
Refresh Images (entropy changes every ~12 seconds)
The OG BLONKS. The OGBs! (Shapeshifter State: 0)
Maximum Capacity: 4444. Current Utilization: /4444.
BLONKS on a moonlit night. (Shapeshifter State: 1)
Maximum Capacity: 444. Current Utilization: /444.
Pepe'd BLONKS, feelsn' good man. (Shapeshifter State: 2)
Maximum Capacity: 420. Current Utilization: /420.
<rect/> no more, now 100% bloopier. (Shapeshifter State: 3)
Maximum Capacity: 1111. Current Utilization: /1111.
You can shapeshift your BLONKS token in the following section, but there are a few things to note...
- Shapeshifting is always free, and can only be done with the official BLONKS URI contract (set on the main BLONKS contract).
- The first time a token shapeshifts, the gas required will be higher than later ones. Subsequent shapeshifts are ~50% the gas.
- Other than the base-state (OG BLONKS), all other shapeshift states limit how many tokens can be utilizing them at any given time...
- If a shapeshift state is full when MetaMask generates the transaction, it will report an error.
- However unlikely, it is possible that Metamask reports no errors, but a transaction with higher gas executes before yours and the shapeshifter state fills, resulting in your transaction failing and costing gas.
- When shifting out of a state, the slot the token was using in that state becomes available to others.
- The BLONKS NFT being shapeshifted must be owned by the calling account OR a vault that delegates to the calling account.
ALL ABOUT BLONKS... Let's do the tl;dr's first.
What are BLONKS?
BLONKS is a collection of 4,444 completely on-chain vector-graphic illustrations with personality and with unique technical and design mechanics. BLONKS token images change their 'base' when transferred between wallets, they can shapeshift to change how they look, they have dynamic descriptions, they're licensed CC0, and they live on Ethereum with no external dependencies.
What's so special about BLONKS? (click to expand)
- The SVG vector-graphic illustrations are generative (not procedural), meaning that they're not built by merely assembling predefined layers. This generative quality adds incredible variability into the BLONKS collection and significant personality to each NFT.
- The base image's design is based on the owner's wallet address, so BLONKS change whenever they're bought/sold/transferred between wallets. This means that any BLONK - and the collection of BLONKS - can change and evolve. Note that 'traits' (like hair, glasses, beard, earrings, etc) never change.
- BLONKS are dynamic and can shapeshift to new looks. Matto (the artist) can add new shapeshifter states at any time, increasing the options available to BLONKS.
- BLONKS are family friendly. They're colorful and fun, they don't show tobacco products/weed or alcohol, and they'd be rated G (or E for Everyone) by any NFT rating system that may someday exist.
- BLONKS images are Licensed CC0 to encourage creative use, they have low royalties of only 3%, and half of the proceeds generated at mint were transparently donated to charity ($11,697.29).
When, where, why, who, and how much? (click to expand)
The smart contracts that control BLONKS were deployed on Ethereum at the end of May, 2022 by Matto, an artist and creative-coder. Initially started as a way to help reacquaint himself with Solidity after not using it for a few years, BLONKS quickly blossomed into a colorful life of its own. After 333 airdrops to some prior collectors, friends, and family, 4,111 BLONKS were available publicly at a mint price of 0.0420 Eth on May 31 (a Tuesday) at 4:44:44 pm EDT (20:44:44 UTC).
After primary sales slowed, Matto started a slow Dutch Auction down to 0.01 Eth with promises of the project eventually going free. As thanks for early collectors, Matto launched a new project 'Texture and Hues', and restricted claiming to only prior BLONKS owners.
On the 88th day after launching BLONKS (August 26th, 2022), 692 tokens had been minted. Matto changed the price to 0, and within 15 minutes, the remaining 3752 tokens were minted by thousands of unique wallets.
One year after the last BLONK was minted, the Shapeshifter upgrade went live! Three additional generative renderers were added to the project on launch, as well as dynamic token descriptions. The shapeshifter contract allows Matto to add new renderers at any time.
More detail (click to expand)
BLONKS are 100% on-chain, generative vector-graphic illustrations with no external dependencies. The BLONKS CC0 project is coded in the language of the Ethereum blockchain itself (solidity) and its contracts generate all token data (SVG images and metadata) entirely from data on the blockchain. There is no web-app; there are no hosted files to maintain, update, or accidentally lose. The NFTs will exist as long as the Ethereum network exists, and we all kinda think that's a really really long time.
The project is as pure as what solidity was designed for - financial contracts - yet the resulting BLONKS NFTs are full of life and personality. Other on-chain SVG illustration projects typically utilize either run-line-encoding (pixelated-looking images) or are completely built by combining pre-made assets (head a, with nose b, eyes c, ears d, mouth e, etc.), but BLONKS are different. Entropy (AKA randomness) is taken from the owner's address, details regarding the block that the BLONK was minted in, and from an on-chain pseudo-random hash. From these inputs, over a hundred different generative values are calculated and passed between the various BLONKS smart contracts (a feat in itself). Each component contract pushes the limits of what Ethereum and Solidity can handle, and when working together, the combination of contracts become the BLONKS 'back-end.'
The images created are infinitely-scalable, vector-graphic SVGs. The SVG Retrieval tool above simply retrieves and displays the SVG data that is rendered on the blockchain. Anyone can get the SVG manually by using the 'getSVG' function from the smart contract (function #17 in the 'Read Contract' section on Etherscan). An internet search for 'SVG Code Viewer' will return free browser-based apps to view the SVG code (like this one Matto "made" on a code-sharing site), or you paste the code into a text editor, save it with the extension '.svg', and then open the file in a web browser. The 'previewSVG' function on the smart contract works in a similar way (function #25 in the 'Read Contract' section on Etherscan), but it allows the input of a custom address to show what the NFT would look like if owned by that address.
The address that owns a BLONKS NFT determines the base-image of the BLONK, which includes the starting color palette. There are 5,832,000 possible starting color palettes, and as each SVG is generated, entropy from the owner's address is used to determine how the color components change. There are over 1.6 Nonillion (10^30) different color combinations possible in the base-image of every BLONK, which is more of a fun fact than a useful bit of information. Also, the owner address is used as entropy to determine the shape and positions of different BLONK facial features, like eyes, eyebrows, nose, mole, head height and width, etc. Simply put, BLONKS are super colorful and have an incomprehensible variability even without their token-assigned and locked 'attributes.'
A BLONK's attributes (ex. hair, headband, teeth, etc), are determined by the pseudo-random hash assigned to the NFT at mint. These attributes do not change when the NFT is bought/sold/transferred. These are where 'rarity' comes in, but note these calculations do not consider any aspects or details of the base-image, which changes every transfer. These attributes are applied over the top of the base-image, sometimes continuing the color changes from the BLONK (hair/beard color), and sometimes using pre-determined colors (ex. eyewear). Because BLONKS NFTs have different size heads and necks, some attributes scale with the BLONK to achieve a 'custom fit'. The grandest example of this is with the eyewear; BLONKS have differently sized and positioned heads, eyes, noses, and ears, so every set of eyewear is custom crafted by the code to fit the BLONK.
The code that creates BLONKS is impressive, and I hope that a BLONK NFT's unique look is appreciated. There are 4,444 BLONKS, a number Matto chose based on some simple criteria. First, it had to be in the thousands to support a community. Even if every collector owned 4, there would be over 1000 separate holders. Second, because the collection is extremely variable in visual aspects and can continually change, fewer BLONKS would create a collection that was less overwhelming to browse. Third, because BLONKS are all made of the same type of SVG shape (<rect/>'s), an edition size that consisted of the same digit was desired (1111, 2222, 3333, 4444, 5555, etc). Finally, because BLONKS are all made of rectangles (4-sided shapes), 4444 was chosen.
The 'meme' starting price of 0.0420 Eth was selected for memorability, humor, and affordability. 50% of the mint-proceeds are being transparently donated to charity through an Endaoment Donor Advised Fund (a fund simply named "MonkMatto" and advised by - you guessed it - Matto). These kinds of Endaoment funds allow individuals and groups to donate to multiple organizations, and thanks to the blockchain, everything is transparent. Matto has decided to donate to 4 charities:
- $4500 was sent to The Nature Conservancy. "The mission of The Nature Conservancy is to conserve the lands and waters on which all life depends. Our vision is a world where the diversity of life thrives, and people act to conserve nature for its own sake and its ability to fulfill our needs and enrich our lives."
- $3000 was sent to OutRight Action International. "OutRight is the only global LGBTIQ organization with consultative status and a permanent presence at the United Nations Headquarters, where we advocate for human rights and equality for LGBTIQ people, serve as secretariat of the UN LGBTI Core Group and act as a watchdog on all 193 world governments."
- $3000 was sent to Food Bank Of Central & Eastern North Carolina. "Established in 1980, the food bank is a nonprofit organization that has provided food for people at risk of hunger in 34 counties for over 37 years. The food bank serves a network of more than 800 partner agencies such as soup kitchens, food pantries, shelters, and programs for children and adults…"
- $1000 was sent to Durham Arts Council. "Durham Arts Council is a catalyst in the cultural development of Durham - it leads, inspires, and promotes excellence in and access to the creation, experience and active support of the arts for all the people of our community."
FAQ (click to expand)
Who got the pre-sale airdrop?
The first 182 BLONKS were airdropped to the first 182 FOCUS collectors. 22 BLONKS were minted to an account Matto controls, to be used for future giveaways, rewards, etc, but none will be used to sell for profit. About 100 were airdropped to Matto's irl fam, irl friends, and internet frens. ~20 were airdropped via a casual giveaway in the Art Blocks discord, and a final 10 via a giveaway in Grailers discord. In total, 333 were airdropped, leaving 4,111 of the 4,444 BLONKS available for public mint.
After public sale opened, Matto minted/is minting additional BLONKS to anyone he feels is worthy of a free BLONKS, but never to any influencers for the sake of their influence (which would be lame and very unBLONKS like).
The motivation of this project is to create something without any dependencies, and a roadmap is a selling point, which in effect would imply a sort of abstract dependency - something the project is relying on to somehow promote itself. So, to answer that question: nope.
Roadmap? Matto's future role?
Main builder for BLONKS stuff, for fun and joy, to share with the world. I likes the BLONKS, so probably going to keep having a blast with them!
Is this a good investment? Will it make me money?
Read the disclaimers / terms below.
Acknowledgements (click to expand)
I couldn't have launched BLONKS in May '22 without the technical contributions of some lovely people!
- Brecht Devos published code for encoding in base64, which is needed for on-chain and in-browser rendering svgs.
- Julien helped me get up to speed with testing in Hardhat, and was a great troubleshooting and brainstorm fren! 🙏
- Tib and outerpockets both took peeks at various contract-control functions, helping me feel more confident.
- Sterling Cripsin gave me a leg up with web3 integration - all the published tutorials out there are unnecessarily complex!
- John Au-Yeung's post on converting an SVG to an image in the browser allowed me to add that function as an option to my url-parameter render tool.
- Immutable Computer helped me get a sales-tweet bot set up and running off a raspberry pi using python! (so much fun!)
And guess who helped me with the amazingly robust backed for BLONKS? The one and only, ETHEREUM blockchain. Thanks for all the hard work!
That's mostly it on the technical side, for now, but there's plenty more that can be built and there'll be many others who will help make BLONKS the amazing project it's destined to be. I'll try to keep this updated, but here's a pre-emptive THANKS! to future contributors.
DISCLAIMERS / TERMS
NOTHING ON THIS WEBSITE IS A FINANCIAL PRODUCT OR INVESTMENT. THESE ARE SOCIAL EXPERIMENTS AND ARTWORKS. YOU SHOULD NOT INTERACT WITH THIS WEBSITE WITH THE INTENT OF INVESTING OR FINANCIALLY PROFITING. THESE ARE WORTHLESS TOKENS AND BY INTERACTING WITH THIS WEBSITE YOU AGREE TO THESE TERMS. IF ANY PART OF THIS AGREEMENT IS DEEMED INVALID BY LAW THE REST OF THE AGREEMENT WILL STILL BE BINDING.
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.