
Ivan Zhang
Former Head of Delta Execution for FICC options at DRW and senior portfolio manager on Bank of America’s $500B Treasury portfolio. In crypto since 2012.
Team background
Crypto tax reports · United States
For US taxpayers active in DeFi and on exchanges. Our team reconciles every wallet, DeFi protocol, DEX and exchange, then prepares reports your CPA can work from, so you don’t pay more tax than you owe.
From the team that keeps the books for DeFi funds managing hundreds of millions of dollars.
What you get
Who you work with
We keep the books for DeFi funds and institutions managing hundreds of millions of dollars, and we’ve run a DeFi fund ourselves. You get the same team.
Ivan ZhangEx-DRW and Bank of America
Marc HomsyEx-McKinsey and Uber, Harvard MBAOur team prepares and reconciles your reports. Your CPA makes the final tax decisions, and we answer their questions.
“If you're serious about managing your crypto finances, PennyWorks are the one you want in your corner.”
Why accuracy matters
Exchanges only report what happened on their platform, and DeFi protocols report nothing. In DeFi your tax bill is only as good as your records, and these are the gaps we see most.
An exchange’s 1099-DA only knows what you bought there. Coins you moved in from your own wallet arrive with no purchase price.
Example: 10 ETH bought at $3,000 in your wallet, sold on an exchange for $40,000. Without the basis you’re taxed on $40,000, not $10,000.
Borrowing isn’t taxable. But a borrow routed through a router or bundler contract can look like money arriving from nowhere.
Example: a $35,000 USDC borrow read as income. See how we handle it below.
Staking and lending rewards are taxed as income when you receive them, and that value becomes their cost basis. Lose it, and you pay again when you sell.
Example: $40,000 of rewards sold for $50,000. With the basis, $10,000 is taxable; without it, $50,000.
One example, step by step
Where the IRS hasn’t ruled, as with vaults, wrapped tokens and liquid staking, we write down the options and the numbers for each, so your CPA can decide.
What you receive
Here is a sample for Alex, an illustrative investor running a delta-neutral yield strategy across 10 protocols. All figures are invented for illustration; tax year 2025.
Consolidated across 5 wallets and 2 exchanges
| Token | Short-term | Long-term | Income |
|---|---|---|---|
| ETH | −38,000 | +85,000 | 6,200 |
| SOL | −40,000 | +10,000 | 4,100 |
| USDC | — | — | 14,800 |
| USDe | +22,600 | — | — |
| MORPHO | — | — | 2,300 |
| Total, USD | −55,400 | +95,000 | 27,400 |
Your CPA uses this summary for Form 8949 and Schedule D
Borrow 35,000 USDC on Euler12 Aug 2025 · Ethereum
What Alex did: borrowed against collateral · Underlying: USDC
0x8f3c…a21e · view on Etherscan
Trace each figure back to the transaction onchain
Your CPA sees every assumption and can change it
Earn yield on ETH, borrow against it, and hedge the price so the portfolio doesn't swing with the market. 10 protocols, 4 chains, about 6,800 transactions in the year.
Stake 25 ETH with Lido
Journal · 14 Jan 2025
| Account | Asset | Quantity | USD |
|---|---|---|---|
| Wallet | ETH | −25.00 | −100,000 |
| Lido position | wstETH | +20.66 | +100,000 |
| Network fees | ETH | +0.0021 | +8.40 |
How it's treated: The IRS hasn’t said whether this is a sale. We record the wstETH against the ETH underneath, show both treatments and document the one Alex’s CPA chooses.
Post wstETH as collateral on Aave V3
Journal · 3 Feb 2025
| Account | Asset | Quantity | USD |
|---|---|---|---|
| Wallet | wstETH | −82.65 | −400,000 |
| Aave V3 position | wstETH | +82.65 | +400,000 |
| Network fees | ETH | +0.0031 | +12.40 |
How it's treated: Alex still owns the wstETH. Recorded as the same asset moving into Aave, with the treatment noted for the CPA.
Borrow 300,000 USDC on Aave V3
Journal · 3 Feb 2025
| Account | Asset | Quantity | USD |
|---|---|---|---|
| Aave V3 loan | USDC | −300,000 | −300,000 |
| Wallet | USDC | +300,000 | +300,000 |
| Network fees | ETH | +0.0029 | +11.60 |
How it's treated: A loan, not income. Nothing is taxable when Alex borrows; interest paid is tracked separately.
Borrow 35,000 USDC on Euler
Journal · 12 Aug 2025
| Account | Asset | Quantity | USD |
|---|---|---|---|
| Euler loan | USDC | −35,000 | −35,000 |
| Wallet | USDC | +35,000 | +35,000 |
| Network fees | ETH | +0.0018 | +7.20 |
How it's treated: Routed through a bundler, the USDC arrived from an unfamiliar contract. We traced the call to Euler’s borrow function and recorded a loan, not income.
Deposit 120,000 USDC in Morpho
Journal · 4 Feb 2025
| Account | Asset | Quantity | USD |
|---|---|---|---|
| Wallet | USDC | −120,000 | −120,000 |
| Morpho vault | USDC | +120,000 | +120,000 |
| Network fees | ETH | +0.00004 | +0.16 |
How it's treated: The deposit isn’t a gain. Interest earned in the vault is recorded as income.
Short ETH on Hyperliquid
Journal · 4 Feb 2025
| Account | Asset | Quantity | USD |
|---|---|---|---|
| Wallet | USDC | −150,000 | −150,000 |
| Hyperliquid margin | USDC | +150,000 | +150,000 |
| Short position | ETH-PERP | −125.00 | Open |
How it's treated: Moving margin isn’t taxable. Profit or loss on the hedge is recorded when the position closes; the treatment is noted for the CPA.
Buy Pendle PT with 100,000 USDe
Journal · 2 May 2025
| Account | Asset | Quantity | USD |
|---|---|---|---|
| Wallet | USDe | −100,000 | −100,000 |
| Wallet | PT-sUSDe Dec 2025 | +104,400 | +100,000 |
| Network fees | ETH | +0.0026 | +10.40 |
How it's treated: Recorded as a swap. The PT starts a new cost basis at $100,000, and its fixed yield is realized at maturity.
| Token | Held as | Short-term | Long-term | Income | Unrealized, not taxed |
|---|---|---|---|---|---|
| ETH | wstETH, Uniswap V3 LP, short hedge | −38,000 | +85,000 | 6,200 | +62,000 |
| SOL | jitoSOL on Kamino | −40,000 | +10,000 | 4,100 | −8,000 |
| USDC | Morpho vault | — | — | 14,800 | — |
| USDe | sUSDe, Pendle PT | +22,600 | — | — | — |
| MORPHO | Reward tokens | — | — | 2,300 | −600 |
| Total, USD | −55,400 | +95,000 | 27,400 | +53,400 | |
How it works
Most of the work is ours. Expect a few follow-up questions if older records are incomplete.
We go through your wallets, chains and exchanges, the records we’ll need, timing and price, and whether we’re a fit.
You get a written engagement setting out what’s covered. Pay by bank transfer or in USDC.
Wallet addresses, read-only exchange access and any history we ask for. If cost basis is missing for older coins, we’ll follow up with questions.
About two weeks after we have your complete records. Review them, pass them to your CPA, and we answer their questions.
Price and scope
No per-wallet fees and no transaction cap.
We already cover dozens of chains. Because we commit to delivering your full books, we aren’t limited to a fixed list: we cover the chains and protocols you’re active on.
$3,000USD flat
Included
Not included
Software or a team
Security and privacy
Read-only access protects your funds. We also protect the link between your name and your wallets.
You send us your wallet addresses and read-only exchange keys. No private keys, seed phrases, trading or withdrawal rights.
Ask us to delete your data at any time and we will.
Your reports arrive through a secure file drop or shared drive, never as plain email attachments.
We sign a non-disclosure agreement before you share anything, if you prefer.
Your team
We keep the books for DeFi funds and institutions managing hundreds of millions of dollars. You get the same team and the same standard.
We know what a looped position, a vault share or a Pendle PT really is, because we’ve held them. In crypto since 2012.
Our team managed Bank of America’s $500B Treasury portfolio and advised financial institutions at McKinsey.
Every number reconciles to the chain and every treatment is documented, the way an auditor expects.

Former Head of Delta Execution for FICC options at DRW and senior portfolio manager on Bank of America’s $500B Treasury portfolio. In crypto since 2012.
Team background

Former Associate Partner at McKinsey, advising heads of state and financial services CEOs. Early launcher at Uber, founder of Mersive and a Harvard MBA.
Team background
US taxpayers with meaningful onchain activity: DeFi lending, staking, liquidity pools, bridges, or many wallets and exchanges. If your crypto is a few trades on one exchange, self-serve software is probably enough.
A free, 15-minute call to go through your chains, protocols and exchanges, the records we’ll need, timing and price, and whether we’re the right fit. No commitment.
Your reconciled books for the tax year, Form 8949, Schedule D and an income summary, plus a written record of every tax treatment so your CPA can check it.
About two weeks after we have your complete records. If older cost basis is missing, we’ll ask follow-up questions first.
Yes. One flat $3,000 per tax year covers every transaction across the wallets, DEXs and exchanges we support. We confirm coverage on the call before you pay.
By bank transfer or in USDC, after you’ve confirmed the written scope.
Yes. Book a call and we’ll quote for the years you need.
Your public wallet addresses and read-only API keys for your exchanges. For an exchange without an API, a CSV export works. For coins bought long ago, we may ask what you paid.
We only need public addresses and read-only access, never private keys, seed phrases, or trading or withdrawal rights. Reports arrive through a secure file drop or shared drive, and we delete your data on request.
We already cover dozens of chains. Because we commit to delivering your full books, we aren’t limited to a fixed list: we cover the chains and protocols you’re active on.
Usually not. Exchanges report cost basis only for coins bought in that same account, so coins moved in from your own wallet can show none, and DeFi activity has no tax form at all.
Accurate records stop you paying more than you owe: missing cost basis, loans read as income, rewards taxed twice. We report what happened accurately; we don’t promise a lower bill.
Not after the fact. The IRS requires you to identify which coins you’re selling at or before the sale. Where you didn’t, the earliest coins bought in that wallet are treated as sold first. We apply whatever identifications you recorded at the time.
We record each position against the asset underneath, with its own cost basis. Where the IRS hasn’t ruled, as with vaults, wrapped tokens and liquid staking, we set out the options and the numbers so your CPA can decide.
No. We prepare your digital asset reports and your CPA files your return.
Yes. Reports are built for a CPA to use, every treatment is written down, and we answer their questions, typically within 24 hours.
No. We prepare accurate records and reports. Decisions on unsettled questions are made by you and your tax adviser.
We keep answering your CPA’s questions on anything in your books. You also keep a transaction-level record of how every number was calculated, linked to each transaction onchain.
A free call. We’ll confirm we cover your chains and exchanges, the records we need, when you’d get your reports, and the price. No commitment.
Book a free 15-minute callPennyWorks prepares digital asset records and tax reports. We don’t provide tax, legal or investment advice or file returns. Sample figures are illustrative, not client results.