Opensea logoTwitter logoDiscord logo

Let us dream with the machines

What is Machine Dreams?

Machine Dreams is an art project that uses Artificial Intelligence (AI) to generate art every hour based on what is trending on Google in the U.S. in an art style that is trending on ArtStation. Each piece of art is a snapshot of time encapsulating the thoughts, fears, hopes, and dreams of people in the U.S. Collectors can claim ownership of the art by minting it on the Ethereum blockchain, and in doing so, they preserve the art forever.

You can view the art in the Gallery tab.

A Machine's Dream can be a Person's Nightmare

Every technological advancement represents new opportunities for pioneers and existential threats for those whose livelihoods are reduced to bits. Artificial Intelligence is creeping into the mainstream and is already impacting professionals like writers, lawyers, doctors, designers, engineers, and artists. The work of millions of people is being aggregated and used to train AI models that will inevitably replace the workers without rewarding them for their contributions.

Rewarding Supporters for their Contributions

Web3 Artists: 45%

Artists are some of the first to be impacted by AI. Companies are opting to generate art rather than hire artists for content, merchandise, and marketing material. Machine Dreams could not exist without the work of artists, so every week, 45% of the project's revenue will be used to purchase a piece of art from a random artist.

How to participate

Artists can submit a link to artwork they have minted on the Ethereum blockchain.

The artwork must be available on a marketplace that allows me to mint the nft or make an offer for the NFT. The owner ID must match the minter ID to prove that the current owner is the creator of the art. If there is a mismatch, the submission is disqualified and the funds will remain in the wallet for the following week's winner. If the submitted NFT has a mint price that is over the amount of ETH in the wallet, there will be no purchase and the funds will remain in the wallet for the following week's winner. If the submitted NFT has a fixed price lower than the total funds in the wallet, the remaining funds will be given to the following week's winner.

Every artist is limited to one submission. Submit a link to your artwork below.

Machine Dreams Holders: 35%

Innovation requires immense amounts of resources and funding, and while investors enable advancements, it's unclear if they are in it for the tech or for the money.

Non-fungible tokens are special by definition. For the first time, digital items are provably limited and unique, but wherever there are limited resources, there is an opportunity to profit. When art NFTs first emerged, buyers sought out artists and purchased their NFTs because of an appreciation of the art and technology. As NFT markets matured, the focus shifted to maximizing profit, reducing art to speculative instruments. Machine Dreams will pose the question to its buyers:

Are you here for the money, or are you here for the art?

While some creatives despise the influence money has on the industry, it does play a crucial role. Speculators provide liquidity to the market, help determine the market value of a creative's work, and ultimately fund the creative's vision. Every week, 35% of the project's revenue will be offered to a random holder in exchange for the Machine Dreams NFT they hold. Together, we'll discover if holders are in it for the art or the money.

How to participate

The NFTs are generated hourly, and each NFT can be minted for 0.1 ETH. There is a 7.5% royalty enforced in the smart contract. The royalty won't appear on the UI of an NFT marketplace but the royalty will automatically deposit into the Machine Dreams Main Wallet after every sale. As an homage to the generative art collections that brought NFTs to the mainstream, there will be a total of 10,000 pieces of art in the collection.

The NFT holder who is chosen will receive a bid on the art they own. It is up to the holder to choose if they want to trade the NFT for the money or keep the art and pass their reward onto next week's pool. The bid will stand until the following Monday at 11:59 p.m. and expire before the next drawing.

Social Media Fans: 5%

Today, social currency is just as valuable as fiat currency. If no one is talking about a project, it might as well not exist. While people constantly engage on dozens of social media platforms, most are never rewarded for their contributions. Every like, comment, and share creates immense value for multinational corporations, and those corporations extract value from all of the people cultivating their online communities. The people who engage with Machine Dream's social media are crucial to its success and will allow others to discover the project and participate as well.

Buyers and sellers can trade the art on Opensea and will be charged a 10% royalty. The royalty will be sent to the project wallet and will be part of the weekly distribution.

How to participate

The best way to increase your chances of winning is to like, comment, and share every post the project publishes. The person who wins will receive a message from the project page requesting their wallet address. The winner will have until the following Monday at 11:59 p.m. to respond, or they will forfeit their prize to the following week's pool.

Project Creator: 15%

I spent about a year thinking about all of the details of how to make the project successful and how to incentivize everyone's participation. I coded the project and will be solely responsible for distributing rewards every week and managing relationships with winners. Through this project, I hope to earn your trust, inspire more projects, and give back to the community that's revolutionizing the internet.

The Drawing

You can trust that I'm not choosing who wins each week, and I can prove it! To choose who wins each week, I will be using Chainlink's Verifiable Random Function (VRF). VRF uses a decentralized network to generate random numbers, and you can read more about it here:

The Drawing Ceremony

Every week, an artist, an NFT holder, and a social media fan will be chosen to be rewarded for their participation. For transparency, the drawing will be streamed every week on Tuesday at 9 pm EST here:

0.004ETH will be reserved in the Machine Dreams Main Wallet and 0.003ETH of every prize will be reserved for transaction fees.

Web3 Artists

The Web3 art submissions will be documented in this spreadsheet:

At the time of the drawing, I will look at the last entry in the spreadsheet and request from VRF a number between 2 and the last entry. Then, I will visit the web page of the entry to verify that it is an NFT owned by its creator and place a bid on the NFT equal to 45% of Machine Dream's revenue for the week. The offer will stand until the following week on Monday at 11:59 PM

If the chosen artist is disqualified or if they do not accept the offer in the given time limit, the funds will remain in the wallet and will be offered to the following week's winner.

NFT Holders

At the time of the drawing, I will document the total number of NFTs minted - 1. I will then use VRF to generate a number between 0 and the total number minted. In programming, IDs start from 0, not 1, hence why I am including 0. Once the number is generated, I will navigate to the web page of the chosen NFT and place a bid on the NFT equal to 35% of Machine Dream's revenue for the week. The offer will stand until the following week on Monday at 11:59 PM

If the NFT is owned by the project's wallet, the funds will remain in the wallet for the next drawing.

Social Media Fans

At the time of the drawing, I will document the total number of posts on the Machine Dreams Twitter page and draw a number between 1 and the total number. I will generate a number between 1 and 3 to determine if someone who commented, retweeted, or liked a post will be chosen. Then I will generate a number between 1 and the total number of people who participated in the chosen activity. I will send them a message requesting their wallet address. That wallet address is the winner of the Social Media Fan prize.

Validating the Results

Since I am manually triggering the VRF, I will be using a smart contract on the Sepolia testnet. To verify the contract and view the results of the drawing for yourself, visit the Sepolia testnet block explorer page here: VRF Smart Contract

A smart contract on etherscan

Click on the link above and navigate to the events tab (highlighted in blue).

The events tab of the VRF smart contract

In the events tab, you will see two different types of events alternating. The event with the log RequestSent will appear when I request a random number from VRF. The event with the log RequestFulfilled will appear once VRF returns the random number.

The request fufilled entry in the events for the VRF smart contract

If you just want to verify the number returned from VRF, click on the last hex button on the RequestFulfilled event and switch it to num. Congrats! You successfully navigated through the block explorer and verified that the number was in fact returned by VRF; in this case, the number was 7. But what if I instructed VRF to return a specific number?

To verify that VRF chose a number between the minimum and maximum I stated, click on the first hex button, switch it to num, and copy everything before the "e". This is the request ID and will allow you to see the full request I sent to VRF.

The query to read the last request

Click on the contract tab, then click on read contract. Paste the ID into the first drop-down labeled getRequestStatus. Remove the decimal and click on query.

The input and output of the request

Congrats! You just verified the inputs to VRF and the output it returned. In this example, we can see that VRF was instructed to generate a number between and including 0 and 10, and it returned 7.

Distributing Funds

The smart contract for Machine Dreams was deployed from the main wallet, and every time a new NFT is minted from the website, the funds will be deposited directly into the main wallet. Below are Debank links to all the wallets that will be involved in distributing funds. Debank has a user-friendly interface that will allow you to track all of the funds in all of the wallets.

The Smart Contract

You can view the smart contract and review the code here: Smart Contract

Project Wallets

Machine Dreams Main Wallet

At the start of the weekly drawing ceremony, the main wallet will send 45% of its holdings to the artists wallet, 35% to the NFT holders wallet, 5% to the social media fans wallet, and 15% to the creator wallet.

Machine Dreams Artists Wallet
Machine Dreams NFT Holders Wallet
Machine Dreams Social Media Fans Wallet
Machine Dreams Creator Wallet

By the end of the drawing ceremony, bids will be placed from the Artists and NFT Holders wallets. The funds for the Social Media Fans will remain in the wallet until the winner responds to the private message from Machine Dream's Twitter page.


1. The bot runs on several APIs, and it's possible that an API goes down or that the virtual machine running the bot crashes. In that event, the bot will skip a post. On average, the bot posts to the website within 15 minutes. If 15 minutes have passed, feel free to send me a personal message or hop in the discord and notify me that there's an error. If an hour is missed, I will manually trigger the bot as soon as possible.

2. This project is an experiment and the terms and conditions are subject to change.