The aim of this post is to share my business structure and operations, my pivot into Web3, and my opinions about the tools and services that work best for my business as a freelance Web3 software developer. It is meant to be informative and does not constitute legal or financial advice. Please do your own research and consult with legal or financial professionals when setting up your own business.
I live in the United States. My decisions may not be possible or make sense for individuals in other jurisdictions.
Cover image credit: Tao Yuan on Unsplash
Edited Feb 9, 2022: Added additional acknowledgments.
Edited Jun 4, 2022: Changed title and removed iStock images
Edited Jul 13, 2022: Added Relay bank referral link
Edited Aug 16, 2022: Added cover image, switched from Cryptio to Cryptoworth
Edited Jan 4, 2023: Add Opolis referral link, Wyre shut down, use CryptoTaxCalculator, updated benefits section
I pivoted my career into Web3 at the beginning of 2021. To limit my personal liability, I formed a Wyoming LLC. When signing business contracts, my LLC is the party.
I contracted Cloud Peak Law Group, a WY registered agent to:
Form the LLC entity
Provide an operating agreement template
Receive service of process
Establish a virtual business address
Receive, scan, and forward other mail
Renew my business at the start of each year
To reduce my benefit premiums and simplify my tax compliance, I became an Employee Member of the Opolis Employment Commons LCA, hereafter referred to as the “Commons”.
To make this possible, my LLC elected S-Corp taxation status with the IRS by submitting Form 2553.
My business is paid entirely in cryptocurrency, yet, I pay my personal bills in fiat without off-ramping via a centralized cryptocurrency exchange.
How do I do this?
The Commons invoices my LLC/S-Corp for payroll, payable in stablecoins like DAI, USDC, or USDT.
Twice a month, my LLC/S-Corp sends USDC to the Commons.
The Commons pays the benefit premiums I elected, any federal, state, and local taxes I owe, and deposits the (net) remaining funds in USD into my personal bank account.
To avoid piercing the corporate veil, my LLC’s bank account and crypto wallet are separate from my personal bank account and crypto wallet.
My LLC/S-Corp pays some expenses in crypto. But, when paying taxes or vendors that only accept fiat, it:
Off-ramps from Ethereum mainnet using Kraken or Gemini.
Withdraws USD to its Relay business bank account.
Pays expenses via virtual debit card or ACH transfer.
My business has general and professional liability insurance through Next Insurance.
My back-office tech stack is:
Xero for general ledger
CryptoTaxCalculator for crypto sub-ledger
Request Finance for invoicing
Dokka for off-site document storage
Google Workspace for domain name, email, and storage
Wix for website design and hosting
Judah Kosky at Fireside Bookkeeping to handle my bookkeeping for me.
Ben Schultz, CPA at Columbus Accountants to file my S-Corp election (Form 2553), my business taxes (Form 1120-S), and personal taxes (Form 1040) for 2021.
Yev Muchnik, ESQ at Launch Legal to review contracts I have with my clients.
I pivoted my career into Web3 after getting laid off at the end of 2020. I applied for KERNEL Block 2 (KB2) and was accepted into the program. KERNEL is a peer-to-peer educational community and an 8-week incubator program that teaches fundamental principles about Web3 and pairs founders with knowledgeable Web3 mentors. The KERNEL curriculum is open source. During my KB2 adventure, I built a mental model of the Web3 landscape and searched for a project to join.
In March 2021, I interviewed with Ocean Protocol and they hired me as an independent contractor.
From June - November 2022, I freelanced for several DAOs including OceanDAO, TalentDAO, BanklessDAO, and Fight Club. During that time, I was also a Raid Guild Cohort member, an Opolis Ambassador, and a KERNEL KB7 Guide.
In November 2022, I started working as an independent contractor for Request Network.
Limiting my personal liability is important to me, especially while operating as a contractor in the Web3 industry and contributing to DAOs. I decided to form an LLC to represent myself. My LLC owns the vast majority of my governance tokens and NFTs.
A DAO without a legal entity would likely be treated as a general partnership in the case of a lawsuit, meaning all members would be jointly and severally liable. In theory, by joining DAOs with my LLC, a wronged party or creditor can only seek legal redress by attaching to my membership interests in the LLC, and not my personal assets or the assets of the LLC.
It’s worth noting that wrapping myself in an LLC is a stop-gap measure to the more complex issue of forming legal entities for DAOs. It remains to be seen whether my LLC is an effective liability shield. As such, I recommend caution when choosing to contribute to DAOs without legal entities.
Getting laid off at the end of 2020 and abruptly switching to COBRA coverage caused me a lot of stress. This experience showed me how little "stability" W-2 employment actually gives.
As a contractor, I can take on multiple clients to mitigate risk. As long as I have sufficient revenue to pay myself a reasonable wage and cover my benefits and taxes, I don't need to worry about unexpected lapses in benefits.
While searching for affordable benefits for independent contractors, I stumbled across Opolis.
The Opolis Commons is a digital employment cooperative that provides "Benefits, Payroll & Shared Services for the Independent Worker".
I became an Employee Member of the Commons in March 2021 to reduce my benefit premiums and simplify my tax compliance workflow. Being an owner in the cooperative and the accompanying WORK rewards are nice incentives too.
Typically independent contractors pay more for benefits because they lack the collective bargaining power that a company has.
Benefit premiums for me and my family are about 15% less per month when purchased through the Commons than if I had negotiated the same plan independently. The Commons offers multiple plans and optional coverage so I can craft a benefits package that fits my needs.
Offered benefits include:
Group Medical plans with varying premiums, deductibles, and copays
Optional Health Spending Account (HSA) or Flexible Spending Account (FSA)
Optional Vision Insurance
Optional Dental Insurance
Basic Term-Life Insurance (with optional enhancements)
Unemployment Insurance - State & Federal
Workers’ Compensation Insurance
Disability Insurance (Short & Long Term)
Limited International Travel Insurance
Visit the Opolis benefits page for up-to-date information about the available benefits.
To receive benefits through the Commons, I need to be an Employee Member of the Commons and co-employed by my own entity: either an S-Corp or C-Corp. This is because I am a member of my LLC, and therefore cannot also be an employee.
Technically, an S-Corp is just a federal tax designation that can be made by either LLCs or C-Corps. Forming an LLC is a little cheaper and requires fewer corporate formalities than a C-corp.
There are a number of restrictions for entities choosing S-corp taxation: the company must be formed in the United States, there cannot be more than 100 owners, only US residents can own interests, and there can only be one class of owners—no preferred shareholders or members.
Typically, independent contractors must track their self-employment income, pay quarterly estimated taxes via Form 1040-ES, and attach Schedule SE to their Form 1040 at the end of the year.
Becoming an Employee Member of the Commons results in a net reduction in IRS paperwork:
The Commons is my employer of record, and my LLC/S-Corp processes $0 payroll, so it does NOT need to file quarterly Form 941.
The Commons processes payroll for my LLC/S-Corp. This means it tracks my income, pays all federal, state, and local taxes, and sends me Form W-2 at the end of the year.
My LLC/S-Corp needs to file Form 1120-S at the end of the year.
I still must file Form 1040 at the end of the year but Schedule SE is not required. If I take a distribution as a shareholder of my LLC/S-Corp, I must attach Schedule K-1.
The Commons payroll service accepts crypto or fiat as input and converts to almost* any mix of crypto or fiat as output. My LLC/S-Corp pays the Commons USDC. Then, the Commons:
Pays the benefits premiums I’ve elected.
Pays the federal, state, and local taxes I owe.
Direct deposits the remaining USD into my personal bank account.
Sends me a pay stub.
* I say almost because I can’t pay myself 100% crypto. I must pay myself minimum wage in USD. This amount varies by state.
Members of the Commons can receive a Xero subscription discount - 75% off for the first 6 months. An Opolis membership steward can provide the partnership link after joining.
The Commons offers a 401(k) retirement savings plan through Slavic 401K. The Commons also offers a code for $50 when signing up with Rocket Dollar for members who wish to manage their own Solo 401(k). I personally have not chosen to participate in either of these options so I cannot speak to the ease of setup or flexibility of investments available.
Members of the Commons earn WORK tokens for performing actions that benefit the Commons, listed below. When the Commons earns a profit, WORK tokens determine the amount of patronage dividends a member is entitled to. Non-member holders of WORK are NOT qualified to receive patronage dividends regardless of how much WORK they may possess.
Employee Members will be able to use their WORK tokens for governance over the Commons, once the Commons grows to 1000 Employee Members. To keep incentives aligned with benevolence toward Employee Members, Coalition Members will NOT have governance rights regardless of how much WORK they may possess. Currently, the Commons is governed by a board of stewards.
Employee Members earn WORK Rewards by:
Consuming payroll services & employment services
Referring new Employee Members who consume payroll services.
Staking (aka ‘saving’) tokens to earn more WORK Rewards.
Coalition Members earn WORK Rewards by:
Referring new Employee Members who consume payroll services.
Contributing to the Opolis Commons technology stack.
Staking (aka ‘saving’) tokens to earn more WORK Rewards.
For more information about the WORK tokenomics, please see the WORK 1-pager or the full WORK tokenpaper.
If a member of the Commons doesn’t have a self-custody crypto wallet, they can still receive WORK rewards. By default, the Commons will send a member’s WORK rewards to a Magic wallet linked to the user’s email address. Members then have the option to send their earned WORK rewards and redirect future WORK rewards to their own self-custody wallet.
When joining the Commons, there is a one-time fee of $20 used to purchase one (1) share of the Employment Commons’ common stock.
The Commons charges a 1% Community Fee used to fund its operations. This is a comparable rate to traditional PEOs (professional employment organizations). The fee is calculated as 1% of a member’s consumption (benefits + payroll) and is included on each payroll invoice.
When I joined the Commons, I received a promotion that waived the 1% fee for the first year. But even without such a promotion, the value of my WORK rewards has far exceeded the 1% Community Fee I would have paid. The promotion ended the same month I joined and is no longer available.
When taking out a mortgage or loan, lenders verify employment by contacting the employer directly and reviewing recent income documentation. I haven’t taken out a mortgage or loan since joining the Commons, but if I did, I would list the Employment Commons LCA as my employer. The lender would contact HR(at)opolis(dot)co to verify my employment and income.
I must pay myself a reasonable salary which the IRS defines to be what other businesses pay for similar services. It follows that my business needs sufficient revenue to pay me a reasonable salary. In all cases, a reasonable salary must also meet or exceed the minimum wage determined by the state in which I live.
I’m a Senior Software Developer living in Cleveland, OH. I gathered salary estimates from 4 sources:
Robert Half (employer sourced)
After paying my salary, there is revenue left over in the business. I have the option to pay out this revenue as an S-Corp shareholder distribution. The advantage of being taxed as an S-Corp is that I won't pay self-employment tax on the distributions. This saves me a total of 15.3 percent of what I payout as a distribution.
Evading taxes by disguising my salary as a distribution or owner’s draw could get me serious penalties and a big back-tax bill if an IRS audit recharacterizes my distributions as salary. I could pay tax penalties of up to 100% plus negligence penalties.
I chose to domicile my LLC/S-Corp in Wyoming, primarily for the legal clarity around owning crypto and the progressive regulatory environment. Wyoming also offers some of the strongest asset protection and privacy laws in the country.
Wyoming’s low corporate tax rate was NOT a factor in the decision because both LLCs and S-Corps are pass-through entities. This means that business income is treated as the personal income of the owner(s) and taxed at the rate of the state in which they reside, which in my case is Ohio.
Based on my experiences in 2021, the IRS takes about 5 months to process Form 2553. Unfortunately, my first submission was rejected because I used a digital signature instead of a hand-written one. With help from my CPA, I submitted a 2nd Form 2553. In total, it took 10 months before I received written confirmation from the IRS that my S-Corp status was approved.
I contracted Ben Schultz, CPA at Columbus Accountants to file all of my tax forms. I found him via the CryptoCPA.tax Directory, filtered to show accountants in Ohio, the state where I live. I chose a local CPA because my LLC/S-Corp is a pass-through entity meaning that income is taxed at the rate of the state in which I reside.
I managed my own bookkeeping for the first 8 months with as-needed instruction from Judah Kosky at Fireside Bookkeeping. I found him via the Cryptio Partner List. Eventually, my transaction counts grew large enough to warrant hiring Judah to be my bookkeeper. His rates are reasonable, I already knew I could trust him, and he was willing to use my existing software stack.
Edited Jan 4, 2023: In 2021, I used Cryptio as my crypto sub-ledger. In 2022, I switched to CryptoTaxCalculator as a cost-saving measure. They offer similar features. The rest of this section remains unchanged from when I first published it.
Starting out, I evaluated a wide variety of crypto software products including tax-focused software, accounting software, and portfolio management software. Even today, the lines between these categories are blurry since they’re all fundamentally indexing data from the blockchain and displaying it in useful ways. As time goes on, the distinction between these different software will likely diminish.
My business uses Xero for its general ledger and Cryptio for its crypto sub-ledger. Cryptio can import transactions from self-custody wallets, centralized exchanges, and from CSVs. Cryptio integrates with Xero such that transactions can be labeled and synced into Xero as journal entries. Then, in Xero, I can view my overall P&L or balance sheet. Cryptio can also generate a capital gains and losses report, compatible with Form 8949 which my CPA uses when filing Form 1120-S.
Today, Cryptio natively supports Ethereum, Polygon PoS, and several other chains. For not-yet-supported sidechains and L2s like Arbitrum, zkSync, Fantom, Celo, Gnosis Chain, or Avalanche, transactions can be imported via CSV.
My business uses Request Invoicing to generate professional crypto invoices. Cryptio integrates with Request such that invoice payments are auto-labeled and linked to the invoice.
Starting out, I resisted getting a business bank account and explored the possibility of being truly “Bankless”. I investigated crypto debit cards that would convert crypto to fiat but all of the cards available today are geared toward individuals, not businesses.
Eventually, I realized that a business bank account was required for a few reasons:
Some vendors may not accept debit card payments, only ACH transfers which would require a bank account.
The KYC when getting verified with crypto off-ramps often requires proof of a business bank account in the company’s name.
I established a business bank account with Relay. Initially, I was worried about the wording on Relay’s FAQ: “Relay is unable to support businesses that deal in providing or exchanging cryptocurrency, privately owned ATMs, money services, unlawful internet gambling, or cannabis sales.” In my application, I made it clear that my business only provides software development services.
Relay is backed by Evolve Bank & Trust, the same bank behind Mercury, OnJuno, Hightop, and a variety of other innovative financial service companies.
I briefly looked into Silvergate and Signature, both of which are said to be friendly to the crypto industry. I'm also keeping an eye on Avanti Bank and Kraken Bank because they’ll be able to actually custody crypto assets.
My business income is 100% crypto so to pay expenses from vendors who only accept fiat, it needs to off-ramp crypto to fiat using a centralized exchange. My business has accounts with Kraken and Gemini which it uses to off-ramp from the Ethereum mainnet.
For most of 2022, my business used Wyre to off-ramp directly from Polygon, drastically reducing my transaction fees. I asked all of my clients to pay me on Polygon as well. Unfortunately, Wyre shut down at the start of 2023.
Applying for exchange accounts requires a lot of KYC/AML and can take anywhere from a week to a couple of months. It requires things like an EIN number, entity formation documents, a business website, pictures of my passport, a description of my business, source of wealth, customer profiles, intended exchange usage, and in one case, a video of me speaking a prompted phrase.
My business retains the self-custody of its crypto assets. It does this using a Ledger Nano X hardware wallet which can be used to generate accounts for Ethereum and many other chains. All of the accounts generated by this hardware wallet are used for business purposes only.
I also retain self-custody of my personal crypto assets, but since they’re low value, I feel comfortable storing them in accounts generated by Metamask, a browser wallet.
There were costs when forming my LLC/S-Corp and setting up the business that I paid using personal funds. Once my business accounts were set up, I established a corporate veil separating my business assets from my personal assets. This is important for maintaining the limited liability an LLC or S-Corp provides.
I opted to have my business reimburse me for the formation costs. I accounted for this by creating a bill in Xero, addressed to myself. I attached all relevant receipts and paid the bill by transferring USD from the business bank account to my personal bank account.
The alternative would have been to consider these formation costs as owner contributions and track them in a separate asset account in Xero.
My business has general and professional liability insurance through Next Insurance. General liability insurance covers the most common accidents such as property damage, injuries to other people, defamation, libel, and slander. Professional liability insurance (also known as errors and omissions insurance) helps pay for lawsuit costs and damages if my company is accused of work errors or incomplete projects that cause a client to lose money.
If you found this article useful, please consider collecting it!
If you live in the US or Canada and have a gross annual income over $45,000 USD you can book an exploratory meeting with an Opolis membership steward using this link. For each qualified lead that meets with Opolis, I receive $100. For each lead conversion, upon payment of their 2nd payroll invoice, I receive an additional $200 plus 1000 WORK tokens plus a portion of the current epoch’s WORK token referral rewards.
If you use this link to create a Request Finance account, you will receive $10 worth of REQ tokens and I will receive $25 worth of REQ tokens upon payment of your first crypto invoice.
If you’re a US business owner and you use this link to create a Relay bank account, Relay will deposit $50 into your account and I will also receive $50.
If you need a competent bookkeeper, accountant, or lawyer, reach out to Judah Kosky at Fireside Bookkeeping, Ben Schultz, CPA at Columbus Accountants, or Yev Muchnik, ESQ at Launch Legal, respectively.
Thank you to all the amazing individuals who helped review and contributed to this blog post including Joshua Lapidus, Yev Muchnik, Judah Kosky, frogmonkee, Nathan Eidelson, Hemant Pandit, and cryptowanderer.
Thank you to the members and stewards of the Opolis Discord whose questions and answers helped me refine the content of this post.
Thank you to the attendees of my DevNTell presentation at Developer DAO whose questions helped improve the section flow.
And last but not least, thank you to my incredible and loving wife Rose: for her communication expertise and positive vibes; for her early mornings, late nights, and weekends caring for our son; and for supporting me through 2021, a year wrought with uncertainty, sickness, isolation, and loss. My pivot into Web3 would not have been possible without her and her sacrifices.