Search projects, hackathons, sponsors and tech

    ← All projects

    Tax Hole Sun

    An onchain mechanic to allow collectors to spend ETH and artists to receive USDC.

    Demo

    About

    The problem it solves This project solves the issue of keeping track of taxes for artists. Typically - collectors like to spend ETH, not a stable coin like USDC. However, this leaves artists in the predicament of having to accept ETH and deal with the tax implications of doing so. Whether that means selling the ETH right away, or holding it and dealing with taxes later. This worked fine during the 1/1 art era - when an artist would have only a few sales a year and could keep track of everything. However, in a new era of abundant art, with artists selling more and more low-price editioned work, it can become really difficult to track the price of ETH over potentially thousands of transactions. The tax hole sun mechanic, smart contract, and tool allows artists to set up low-cost, high volume-of-transactions drops without worrying about this issue. Upon each purchase, the contract swaps the ETH for USDC on Uniswap and sends the USDC onward to the artist. This makes it much easier to look at all the incoming transactions to their wallet and see just a stablecoin coming in. I am hoping I can grow this tool and onboard more artists, building tools that allow non-crypto-native artists to attract crypto-native collectors.

    How it's made

    Challenges we ran into One challenge I ran into was how I could swap automatically on behalf of the artist. I had come up with the idea but I did not know if it was actually possible. So - I looked at the Uniswap v3 documentation, because I was familiar with using the Uniswap UI. As it turns out - you could do ETH/USDC swaps both off-chain (with javascript) and on-chain in solidity. The next hurdle was actually testing - for this I used forge/foundry. I had used the tool before for some basic contracts, but this was my first time using their base forking feature. Essentially - I was able to test deploy my contract to a fork of the real base network, allowing me to fully test everything before deploying.