{"chain_id":"cosmoshub","categories":[{"category":"transfer","taxable":true,"group":"transfers","description":"A bank send or receive between two addresses. A send is a disposal at fair market value unless you tag it as an internal transfer or a gift; a receive is an acquisition whose cost basis we cannot see."},{"category":"reward","taxable":true,"group":"staking","description":"Staking rewards actually withdrawn from the distribution module: an explicit claim, the auto-withdrawal that happens on delegate, undelegate and redelegate, or an LSM tokenize or redeem. Ordinary income at the USD price that day, split by validator."},{"category":"commission","taxable":true,"group":"staking","description":"Validator commission withdrawn by the operator. Ordinary income at the USD price that day."},{"category":"ibc_out","taxable":true,"group":"transfers","description":"Coins sent to another chain over IBC. Treated as a send unless the memo shows a Skip Go swap, in which case the row carries the swap intent so you can match the receipt on the destination chain."},{"category":"ibc_in","taxable":true,"group":"transfers","description":"Coins received from another chain over IBC, including the Hub hop of a Skip Go route."},{"category":"nft_sale","taxable":true,"group":"nfts","description":"An NFT sold through a marketplace, auction or offer. A disposal of the NFT for the seller and an acquisition for the buyer, priced in the coin that changed hands."},{"category":"nft_mint","taxable":true,"group":"nfts","description":"An NFT minted for a price. The mint cost is the NFT's cost basis."},{"category":"swap","taxable":true,"group":"defi","description":"One leg of a swap or vault movement: the coin given up is a disposal, the coin received is an acquisition. Vault deposits and withdrawals on Inflow are recorded as swaps between ATOM and vault shares."},{"category":"income","taxable":true,"group":"income","description":"Protocol income that is not a staking reward: Hydro tributes, DAO reward distributions, governance-score rewards, raffle and game prizes paid in coins. Ordinary income at the USD price that day; the source is named on the row."},{"category":"expense","taxable":true,"group":"income","description":"A payment to a protocol for a service with nothing coming back: a name registration, an upload fee, a game entry fee, a tribute paid into Hydro. A disposal of the coins paid."},{"category":"gov_deposit_burn","taxable":true,"group":"records","description":"A governance deposit the chain burned when its proposal ended, for example a vetoed proposal. A disposal of the deposited coins for no proceeds, so the loss is their cost basis."},{"category":"protocol_deposit","taxable":false,"group":"records","description":"Coins you still own moved into a contract: a Hydro lock, DAO staking, an auction bid held in escrow. Not a disposal. Kept out of tax-software imports so it is never read as a sale."},{"category":"protocol_withdrawal","taxable":false,"group":"records","description":"The same coins coming back out of a contract: an unlock, an unstake, a refunded bid. Not income."},{"category":"delegate","taxable":false,"group":"records","description":"Staking principal bonded to a validator. Not a disposal; the wallet still owns the ATOM."},{"category":"undelegate","taxable":false,"group":"records","description":"Staking principal entering the 21-day unbonding queue, with the completion time."},{"category":"redelegate","taxable":false,"group":"records","description":"Staking principal moved between validators."},{"category":"cancel_unbonding","taxable":false,"group":"records","description":"Unbonding principal re-bonded before the unbonding period finished."},{"category":"tokenize_shares","taxable":false,"group":"records","description":"A delegation converted into transferable liquid staking share tokens. The tokens represent the same stake."},{"category":"redeem_shares","taxable":false,"group":"records","description":"Liquid staking share tokens converted back into a native delegation."},{"category":"share_record","taxable":false,"group":"records","description":"Ownership of a tokenize-share record transferred to another address."},{"category":"gov_deposit","taxable":false,"group":"records","description":"A refundable governance proposal deposit. Not a disposal while the deposit can still be returned."},{"category":"gov_deposit_refund","taxable":false,"group":"records","description":"A governance deposit returned to you when its proposal ended. Not income; the coins were yours throughout."},{"category":"unbonding_complete","taxable":false,"group":"records","description":"Unbonding principal released back to your wallet when the 21-day unbonding period ended, after any slashing. Not income."},{"category":"nft_transfer","taxable":false,"group":"nfts","description":"An NFT moved without a payment: a gift, a listing moved into marketplace escrow, a raffle entry or prize, a bridge transfer over ICS721. Review and tag if it was actually a sale off chain."},{"category":"nft_burn","taxable":false,"group":"nfts","description":"An NFT destroyed by its owner."}],"chain":"cosmoshub-4","contracts":[{"address":"cosmos1clswlqlfm8gpn7n5wu0ypu0ugaj36urlhj7yz30hn7v7mkcm2tuqy9f8s5","protocol":"Skip Go","name":"Skip Go entry point","kind":"router","first_seen_height":29102288},{"address":"cosmos1lqu9662kd4my6dww4gzp3730vew0gkwe0nl9ztjh0n5da0a8zc4swsvd22","protocol":"Skip Go","name":"Skip Go IBC callback adapter","kind":"router","first_seen_height":29102288},{"address":"cosmos16nff0lmuegn2zr6ca3dp8jnqltpq2c9ayhmqn3avjq0wne95h2xqkhn9qe","protocol":"atom.names","name":"atom.names registry","kind":"names","first_seen_height":30288946},{"address":"cosmos12sseygvx4ykhp0df70ndg82l7p9a7ld7l0n0pptwj7c2h726cc9sahh4hz","protocol":"atom.names","name":"atom.names TLD manager","kind":"names","first_seen_height":30289440},{"address":"cosmos1m962xzr0teztzlp39y7leefhqadxwxv4vg4jyzq6jxh64e93v9hsmg62rc","protocol":"atom.names","name":"atom.names marketplace","kind":"marketplace","first_seen_height":30289504},{"address":"cosmos1tl0ptdmlz422z5pj20zujzyt3c96qp2g9vp83uj9pyj8q994tzhsl77adr","protocol":"Stargaze","name":"Stargaze marketplace","kind":"marketplace","first_seen_height":29099858},{"address":"cosmos1qppyer6cu36kd4dchxqmcfa9u4rk2zgpc9vpmpd7eplhn8ghhyzs8najdv","protocol":"Starburst","name":"Starburst raffle","kind":"raffle","first_seen_height":30379639},{"address":"cosmos1mjfkfegaywg6xsqr87uytsld9l7kaldj7sf7q593jdch8cascm6scnswx0","protocol":"Starburst","name":"Starburst multi-pool raffle","kind":"raffle","first_seen_height":30981928},{"address":"cosmos1r9695xq7y0fd2nk06rv6llykay7ny27jrpq4de2w6eqja5p2mlvqfv8aa9","protocol":"DAO DAO","name":"DAO rewards distributor","kind":"rewards","first_seen_height":30442266},{"address":"cosmos19fprlcmzt2axrukx3xacsdpykv40nrdsv9l7jgnfrpwukgteu3zq3t2q9f","protocol":"DAO DAO","name":"DAO rewards distributor","kind":"rewards","first_seen_height":30466450},{"address":"cosmos15nafa2hazwmjs8yz844h5ry5yrzvz6q96a0300ge26vm8hcsrd4s7zxhyj","protocol":"DAO DAO","name":"DAO token-staked voting module","kind":"dao_staking","first_seen_height":30442266},{"address":"cosmos1vuyxx6tl3j5wqkyhknvx6jzf8r53arhkpt565wqwsgdhz9dxx4sqyf4y9n","protocol":"Upload payment","name":"Upload payment","kind":"payment","first_seen_height":31398417},{"address":"cosmos1690hpscut3ltfkcm997fw2jws3tk0wkh7tnlntlavqkpg56hpdzsrjhy5r","protocol":"Inflow","name":"Inflow ATOM vault","kind":"vault","first_seen_height":31588586},{"address":"cosmos1d2hrvjvrvqvzdcffy2cy0p2gnytj48e2yg0lvnxk6knhmnt7cqvqetf09u","protocol":"Inflow","name":"Inflow vault","kind":"vault","first_seen_height":31737292},{"address":"cosmos12zktht39lk57zf8pqg287u6r8vu8zy6vkh7zfy0f5fn3zsddmx6sk9ru6y","protocol":"Inflow","name":"Inflow withdrawal router","kind":"vault","first_seen_height":31737292},{"address":"cosmos1jyx8zpvjxq2vdmquvrw6cwl2qp9slmnyy8dnpj3cgyvava2x7lmqhj3mmy","protocol":"Stargaze","name":"Stargaze reserve auction","kind":"auction","first_seen_height":31608661},{"address":"cosmos1nhu3aqrlf3adlffvx3z5pyxntgulgj9dhfskwlp8fksx5mf7v9qqfjpgpd","protocol":"Governance Score","name":"Governance score rewards","kind":"rewards","first_seen_height":31905560},{"address":"cosmos1tj45y3729uu07pv8hq50pfx9u790rh6e0qssucs3yusxaag32t8svhlxgw","protocol":"Hydro","name":"Hydro","kind":"hydro","first_seen_height":32538570},{"address":"cosmos15pnu29h8gqpsfwhv2l8t2uv3n4fc6cv5k00tq0uk6c78h5ysql4sja3f3d","protocol":"Hydro","name":"Hydro tribute","kind":"tribute","first_seen_height":32538598},{"address":"cosmos17ryrjncgq8rrmxy0x8wrq0pcessp28xna4pw5sv506mfg3fhwj4qn89chn","protocol":"Hydro","name":"Hydro tribute","kind":"tribute","first_seen_height":32538598},{"address":"cosmos16qh8ly7zkae754a84tkv2hauee3z3u4mpcpsw0lchps03a72wrkske49ns","protocol":"Inscriptions","name":"Inscriptions auction and offers","kind":"inscriptions","first_seen_height":29099858},{"address":"cosmos17kzlqt4e0ncuwvluzfpuxed7trqw8wzk42kwnh3r6fwdnlzx8p6q0w69js","protocol":"ICS721","name":"ICS721 NFT bridge","kind":"bridge","first_seen_height":29099858},{"address":"cosmos1hcewh45u5e66wkuzm90t832qyxurng8l8r5kwjmzs2zn7cfau7gq96kdta","protocol":"ICS721","name":"ICS721 outgoing proxy","kind":"bridge_helper","first_seen_height":29099858},{"address":"cosmos1t0regae0m9tfylw6rjpwrcuytgn7u7pu2mnc0xtqgmauzlw6t4yqw64uys","protocol":"Mad Gumball","name":"Mad Gumball machine","kind":"game","first_seen_height":29099858}],"export_formats":[{"format":"koinly","notes":"Label column carries staking, income, cost, gift, lost, airdrop.","scope":"taxable rows"},{"format":"cointracker","notes":"Fixed eight columns; Tag carries staked, payment, airdrop, gift, lost. No description field.","scope":"taxable rows"},{"format":"coinledger","notes":"Universal manual import; Type uses Deposit, Withdrawal, Staking, Income, Airdrop, Gift, Lost.","scope":"taxable rows"},{"format":"cryptotaxcalculator","notes":"Also accepted by Summ. Carries the reference price per unit.","scope":"taxable rows plus staking-deposit and staking-withdrawal records"},{"format":"cryptio","notes":"Enterprise sub-ledger custom CSV.","scope":"taxable rows"},{"format":"bitwave","notes":"Enterprise accounting import.","scope":"taxable rows"},{"format":"generic","notes":"Audit CSV: category, taxable flag, detail JSON, user tag, implied price flag, validator attribution, asset review decisions.","scope":"every row"}],"gaia_releases":[{"version":"v21.0.1","date":"2024-11-21","cosmos_sdk":"0.50.9-lsm","summary":"Carry-in release for 2025: SDK LSM fork, ibc-go 8.5.1, ICS 6.3.0 and wasmd 0.53.0.","indexer_impact":"Historical LSM uses cosmos.staking and cosmos.distribution namespaces. Historical compatibility review is in progress; this is not a completeness attestation.","reviewed":false},{"version":"v22.0.0","date":"2025-01-10","cosmos_sdk":"0.50.11-lsm","upgrade_height":24181000,"summary":"SDK LSM fork, ibc-go 8.5.2, ICS 6.4.0 and wasmd 0.53.2.","indexer_impact":"Legacy LSM namespaces and consumer-denominated reward withdrawals must remain decodable. Full historical review is pending.","reviewed":false},{"version":"v23.0.0","date":"2025-03-14","cosmos_sdk":"0.50.11-lsm","upgrade_height":25002500,"summary":"ibc-go 10.1.0, ICS 7.0.0 and wasmd 0.55.0. The declared SDK 0.50.13 is replaced by the LSM fork.","indexer_impact":"IBC v2 appears alongside v1; historical provider messages remain evidence even after the provider module is removed. Full historical review is pending.","reviewed":false},{"version":"v24.0.0","date":"2025-05-30","cosmos_sdk":"0.50.11-lsm.0.20250523173923-11578258172e","upgrade_height":26131400,"summary":"Moves LSM messages to Gaia x/liquid; ibc-go 10.1.1 and ICS 7.0.1.","indexer_impact":"Both the old SDK namespaces and gaia.liquid.v1beta1 must be supported across the migration. Full historical review is pending.","reviewed":false},{"version":"v25.0.0","date":"2025-06-20","cosmos_sdk":"0.53.2","upgrade_height":26440900,"summary":"Cosmos SDK 0.53, wasmd 0.60.1. Continues x/liquid introduced in v24.","indexer_impact":"Liquid staking message types (/gaia.liquid.v1beta1.*) are parsed for rewards and share records.","reviewed":true},{"version":"v25.1.0","date":"2025-07-08","cosmos_sdk":"0.53.3","summary":"Dependency release.","indexer_impact":"None.","reviewed":true},{"version":"v25.2.0","date":"2025-11-06","cosmos_sdk":"0.53.3","summary":"Dependency release, wasmd 0.60.2.","indexer_impact":"None.","reviewed":true},{"version":"v25.3.0","date":"2025-12-19","cosmos_sdk":"0.53.4","summary":"Dependency release.","indexer_impact":"None.","reviewed":true},{"version":"v25.3.1","date":"2026-01-15","cosmos_sdk":"0.53.4","summary":"Binary-only security fix.","indexer_impact":"None.","reviewed":true},{"version":"v25.3.2","date":"2026-01-23","cosmos_sdk":"0.53.4","summary":"CometBFT 0.38.21.","indexer_impact":"None.","reviewed":true},{"version":"v26.0.0","date":"2026-02-09","cosmos_sdk":"0.53.4","summary":"Adds x/tokenfactory. Stake validation on wasm vote messages.","indexer_impact":"Token factory denoms (factory/<creator>/<subdenom>) appear as bank coins and are priced through the oracle when known; token factory message types are registered.","reviewed":true},{"version":"v27.0.0","date":"2026-02-20","cosmos_sdk":"0.53.4","summary":"Gas surcharge on multi-send, stake validation for ICA votes, no new consumer chains.","indexer_impact":"None. Multi-send rows unchanged.","reviewed":true},{"version":"v27.1.0","date":"2026-03-13","cosmos_sdk":"0.53.4","summary":"Go 1.25, wasmd 0.60.5.","indexer_impact":"None.","reviewed":true},{"version":"v27.2.0","date":"2026-04-06","cosmos_sdk":"0.53.4","summary":"Dependency release.","indexer_impact":"None.","reviewed":true},{"version":"v27.3.0","date":"2026-04-30","cosmos_sdk":"0.53.4","summary":"ibc-go 10.6, packet-forward-middleware 10.6, 08-wasm 10.5.","indexer_impact":"None. PFM forwards are tagged from the memo.","reviewed":true},{"version":"v27.4.0","date":"2026-05-21","cosmos_sdk":"0.53.4","summary":"Dependency release.","indexer_impact":"None.","reviewed":true},{"version":"v27.5.0","date":"2026-06-19","cosmos_sdk":"0.53.4","summary":"ibc-go 10.7.","indexer_impact":"None.","reviewed":true},{"version":"v27.6.0","date":"2026-07-17","cosmos_sdk":"0.53.4","summary":"Max wasm contract size 1.6 MiB; contracts can query validators and proposals.","indexer_impact":"None.","reviewed":true},{"version":"v28.0.0","date":"2026-08-07","cosmos_sdk":"0.53.4","summary":"Interchain Security provider module removed.","indexer_impact":"Provider (ICS) queries return stubs. Preserve historical provider messages and consumer reward denominations. Module reward allocation is not a second wallet income event; actual reward withdrawals remain classified by distribution events.","reviewed":true},{"version":"v28.1.1","date":"2026-09-30","cosmos_sdk":"0.53.4","summary":"CWA-2026-006 response: CosmWasm code upload and instantiation disabled.","indexer_impact":"None. Existing contracts kept executing; coverage of execute events is unchanged.","reviewed":true},{"version":"v28.2.1","date":"2026-10-01","cosmos_sdk":"0.53.4","upgrade_height":33073000,"summary":"Re-enables CosmWasm upload and instantiation (Prop 1055). Adds the v28.2.0 upgrade handler.","indexer_impact":"None.","reviewed":true},{"version":"v28.3.1","date":"2026-10-01","cosmos_sdk":"0.53.4","upgrade_height":33086741,"summary":"One-time bank balance migration on cosmoshub-4 at height 33,086,741 after the 24.8 hour halt.","indexer_impact":"The migration changed balances without transactions. Balance reconstruction treats the halt block as a boundary; no taxable rows are affected.","reviewed":true},{"version":"v29.0.0","date":"2026-10-09","cosmos_sdk":"0.53.8","upgrade_height":33618500,"summary":"Removes x/params and the legacy ParameterChangeProposal governance route; deletes the deprecated provider store; CometBFT 0.38.25; Cosmos SDK 0.53.4 to 0.53.8.","indexer_impact":"None (reviewed 2026-10-31 after the upgrade). Attribute keys of withdraw_rewards, withdraw_commission, delegate, unbond, redelegate, cancel_unbonding_delegation and proposal_deposit are unchanged in SDK 0.53.8. New withdraw_addr_redirected event: staking messages now fail instead of paying rewards to a blocked withdraw address, and module-driven withdrawals reroute to the owner or the community pool; neither path applies to a wallet that signs its own transactions, and none fired in the first 53,364 blocks. Every height since the upgrade is indexed with no failed blocks, and a taxrepair dry run over those messages matched the stored rows.","reviewed":true},{"version":"v29.0.1","date":"2026-10-23","cosmos_sdk":"0.53.8","summary":"Binary-only release: Go 1.26.10.","indexer_impact":"None. No state or event changes.","reviewed":true}],"message_types":["/cosmos.staking.v1beta1.MsgCreateValidator","/cosmos.distribution.v1beta1.MsgFundCommunityPool","/cosmos.vesting.v1beta1.MsgCreateVestingAccount","/cosmos.vesting.v1beta1.MsgCreatePermanentLockedAccount","/cosmos.vesting.v1beta1.MsgCreatePeriodicVestingAccount","/cosmwasm.wasm.v1.MsgInstantiateContract","/cosmwasm.wasm.v1.MsgInstantiateContract2","/cosmwasm.wasm.v1.MsgMigrateContract","/cosmos.bank.v1beta1.MsgSend","/cosmos.bank.v1beta1.MsgMultiSend","/cosmos.staking.v1beta1.MsgDelegate","/cosmos.staking.v1beta1.MsgUndelegate","/cosmos.staking.v1beta1.MsgBeginRedelegate","/cosmos.staking.v1beta1.MsgCancelUnbondingDelegation","/cosmos.gov.v1.MsgDeposit","/cosmos.gov.v1.MsgSubmitProposal","/cosmos.gov.v1beta1.MsgDeposit","/cosmos.gov.v1beta1.MsgSubmitProposal","/cosmos.distribution.v1beta1.MsgWithdrawDelegatorReward","/cosmos.distribution.v1beta1.MsgWithdrawValidatorCommission","/cosmos.authz.v1beta1.MsgExec","/ibc.applications.transfer.v1.MsgTransfer","/ibc.core.channel.v1.MsgRecvPacket","/ibc.core.channel.v1.MsgTimeout","/ibc.core.channel.v1.MsgTimeoutOnClose","/ibc.core.channel.v1.MsgAcknowledgement","/cosmwasm.wasm.v1.MsgExecuteContract","/gaia.liquid.v1beta1.MsgWithdrawTokenizeShareRecordReward","/gaia.liquid.v1beta1.MsgWithdrawAllTokenizeShareRecordReward","/cosmos.staking.v1beta1.MsgTokenizeShares","/cosmos.staking.v1beta1.MsgRedeemTokensForShares","/cosmos.staking.v1beta1.MsgTransferTokenizeShareRecord","/cosmos.staking.v1beta1.MsgDisableTokenizeShares","/cosmos.staking.v1beta1.MsgEnableTokenizeShares","/cosmos.staking.v1beta1.MsgValidatorBond","/cosmos.staking.v1beta1.MsgUnbondValidator","/cosmos.distribution.v1beta1.MsgWithdrawTokenizeShareRecordReward","/cosmos.distribution.v1beta1.MsgWithdrawAllTokenizeShareRecordReward","/gaia.liquid.v1beta1.MsgTokenizeShares","/gaia.liquid.v1beta1.MsgRedeemTokensForShares","/gaia.liquid.v1beta1.MsgTransferTokenizeShareRecord","/ibc.core.channel.v2.MsgRecvPacket","/ibc.core.channel.v2.MsgTimeout","/ibc.core.channel.v2.MsgAcknowledgement","/osmosis.tokenfactory.v1beta1.MsgMint","/osmosis.tokenfactory.v1beta1.MsgForceTransfer","/osmosis.tokenfactory.v1beta1.MsgBurn","/osmosis.tokenfactory.v1beta1.MsgCreateDenom","/interchain_security.ccv.provider.v1.MsgRegisterConsumerRewardDenom","/ibc.core.channel.v2.MsgSendPacket","/tendermint.liquidity.v1beta1.MsgCreatePool","/tendermint.liquidity.v1beta1.MsgDepositWithinBatch","/tendermint.liquidity.v1beta1.MsgWithdrawWithinBatch","/tendermint.liquidity.v1beta1.MsgSwapWithinBatch"],"methodology_date":"2026-11-09","methodology_version":"v18","native_asset":{"Denom":"uatom","Decimals":6,"Symbol":"ATOM"},"reports":[{"path":"/income","purpose":"Income report: staking rewards, commission, protocol income and tagged receipts, with validator jurisdiction subtotals."},{"path":"/8949","purpose":"IRS Form 8949 disposals, FIFO per asset, per wallet."},{"path":"/schedule-d","purpose":"Schedule D short and long term totals."},{"path":"/990t","purpose":"Form 990-T unrelated business taxable income estimate for retirement account wallets."},{"path":"/journal","purpose":"Double-entry general ledger journal in USD for a controller's books."},{"path":"/positions","purpose":"Open lots and unrealized gain or loss per asset as of a date."},{"path":"/validator-statement","purpose":"A validator operator's statement: commission earned, rewards paid to delegators, unique delegators, by month."},{"path":"/balance","purpose":"Current balance, or with date= the holdings at the end of that UTC day rebuilt from indexed events (409 with the reason when the index cannot rebuild it exactly)."},{"path":"/balance-statement","purpose":"Quarter-end and year-end holdings for a wallet (year=) or listed dates (dates=), JSON or format=csv, each date with its own status."},{"path":"/delegator-report","purpose":"Embeddable per-delegator summary for a validator's website."},{"path":"/index-coverage","purpose":"Which blocks are indexed, per calendar year: block range, indexed and expected counts, fully covered dates and gaps. Reports for a period that is not fully indexed carry an X-Index-Coverage warning."}],"tags":[{"label":"Internal transfer","tag":"internal_transfer","treatment":"Not a disposal or acquisition. Sent to tax software as a transfer so it matches the other wallet. Left out of Form 8949."},{"label":"Payment","tag":"payment","treatment":"Sent coins are a disposal at fair market value. Received coins are income at receipt and that value is their cost basis."},{"label":"Income","tag":"income","treatment":"Ordinary income at the USD value on receipt; that value is the cost basis."},{"label":"Gift","tag":"gift","treatment":"A gift sent is not a sale. A gift received carries the giver's basis, which we cannot see, so a later disposal shows basis unknown."},{"label":"Airdrop","tag":"airdrop","treatment":"Ordinary income at the USD value on receipt."},{"label":"Protocol deposit","tag":"protocol_deposit","treatment":"Still owned. Kept out of tax-software imports and Form 8949, shown in the Generic CSV and journal."},{"label":"Expense","tag":"expense","treatment":"A disposal at fair market value, labelled as a cost or expense for tax software."},{"label":"Spam","tag":"spam","treatment":"Excluded from tax-software imports and Form 8949. Kept in the Generic CSV for the audit trail."},{"label":"Lost or stolen","tag":"lost","treatment":"Labelled lost for tax software. Whether a loss is deductible depends on jurisdiction."}],"triggers":[{"trigger":"claim","categories":"reward, commission","description":"An explicit MsgWithdrawDelegatorReward or MsgWithdrawValidatorCommission."},{"trigger":"delegate","categories":"reward","description":"Reward auto-withdrawn when the delegator added stake to the same validator."},{"trigger":"undelegate","categories":"reward","description":"Reward auto-withdrawn when the delegator started unbonding."},{"trigger":"redelegate","categories":"reward","description":"Reward auto-withdrawn from both validators when stake moved between them."},{"trigger":"authz","categories":"reward","description":"Reward withdrawn by a grantee on the delegator's behalf, typically REStake auto-compounding."},{"trigger":"tokenize","categories":"reward","description":"Reward auto-withdrawn when a delegation was tokenized into liquid staking shares."},{"trigger":"redeem","categories":"reward","description":"Reward paid out when liquid staking shares were redeemed, including the tokenize-share-record reward."},{"trigger":"tribute","categories":"income","description":"A Hydro tribute claimed by a voter."},{"trigger":"tribute_paid","categories":"expense","description":"A tribute added to a Hydro proposal by its sponsor."},{"trigger":"dao_rewards","categories":"income","description":"A DAO DAO rewards distributor payout."},{"trigger":"governance_score","categories":"income","description":"A Governance Score reward claim."},{"trigger":"prize","categories":"income, nft_transfer","description":"A raffle, pack or game prize."},{"trigger":"name_registration","categories":"expense","description":"An atom.names registration or renewal fee."},{"trigger":"upload_fee","categories":"expense","description":"A payment to the Hub upload payment contract."},{"trigger":"game_fee","categories":"expense","description":"A Mad Gumball play fee."},{"trigger":"denom_creation_fee","categories":"expense","description":"The fee for creating a tokenfactory denom."},{"trigger":"auction_bid","categories":"protocol_deposit","description":"A bid placed into a reserve auction's escrow."},{"trigger":"auction_refund","categories":"protocol_withdrawal","description":"An outbid bidder's escrow returned."},{"trigger":"hydro_lock","categories":"protocol_deposit","description":"ATOM or liquid staking tokens locked in Hydro."},{"trigger":"hydro_unlock","categories":"protocol_withdrawal","description":"A Hydro lock released."},{"trigger":"dao_stake","categories":"protocol_deposit","description":"Tokens staked in a DAO voting module."},{"trigger":"dao_unstake","categories":"protocol_withdrawal","description":"Tokens claimed back from a DAO voting module."},{"trigger":"vault_deposit","categories":"swap","description":"An Inflow vault deposit: ATOM out, vault shares in."},{"trigger":"vault_withdraw","categories":"swap","description":"An Inflow vault withdrawal: vault shares out, ATOM in."},{"trigger":"skip_swap","categories":"ibc_out","description":"An IBC transfer whose memo instructs a Skip Go swap on the destination chain. Detail carries the venue, destination asset, minimum amount and final receiver."},{"trigger":"skip_action","categories":"ibc_out","description":"An IBC transfer whose memo runs another Skip Go action on arrival."},{"trigger":"skip_forward","categories":"ibc_in, ibc_out","description":"A Skip Go route that passed through the Hub: the adapter received the coins and forwarded them on."},{"trigger":"ibc_hook","categories":"ibc_out","description":"An IBC transfer that calls a contract on arrival (ibc-hooks)."},{"trigger":"pfm_forward","categories":"ibc_out","description":"An IBC transfer forwarded onward by packet-forward middleware."},{"trigger":"ibc_callback","categories":"ibc_out","description":"An IBC transfer with a callback contract."},{"trigger":"ics721_out","categories":"nft_transfer","description":"An NFT sent to another chain over the ICS721 bridge."},{"trigger":"ics721_in","categories":"nft_transfer","description":"An NFT received from another chain over the ICS721 bridge."},{"trigger":"stargaze_migration","categories":"nft_transfer","description":"An NFT Stargaze minted on Cosmos Hub to the holder who already owned it on Stargaze (March 2026 migration). Not a purchase: its cost basis and acquired date are the original Stargaze purchase."},{"trigger":"community_pool_spend","categories":"income","description":"A community pool payout made by a passed governance proposal at the end of a block."},{"trigger":"block_withdrawal","categories":"reward","description":"A staking reward the chain withdrew for the delegator at the start or end of a block, outside any transaction."},{"trigger":"consumer_reward_denom_fee","categories":"expense","description":"The community pool fee for registering a consumer chain reward denom (ICS v1 to v3)."},{"trigger":"gravity_dex_swap","categories":"swap","description":"A Gravity DEX swap order settled at the end of its block: the offer coin plus the swap fee out, the demand coin in."},{"trigger":"gravity_dex_deposit","categories":"swap","description":"A Gravity DEX pool deposit settled at the end of its block: the accepted coins out, pool coins (LP tokens) in. Unaccepted coins are returned and not booked."},{"trigger":"gravity_dex_withdraw","categories":"swap","description":"A Gravity DEX pool withdrawal settled at the end of its block: pool coins out, the reserve coins in."},{"trigger":"gravity_dex_create_pool","categories":"swap","description":"A Gravity DEX pool created: the deposit coins out, the first pool coins in."},{"trigger":"gravity_dex_pool_creation_fee","categories":"expense","description":"The Gravity DEX pool creation fee, paid to the community pool."},{"trigger":"gravity_dex_forced_withdraw","categories":"swap","description":"The Gaia v11 upgrade (cosmoshub-4 block 16596000) withdrew every Gravity DEX pool coin held by an account that had signed a transaction: pool coins out, the reserve coins in, no fee. The chain emitted no events for it; the rows are rebuilt from archive balances and carry detail reconstructed=gaia_v11_forced_withdrawal."}],"upcoming_changes":["Cosmos SDK 0.54 or 0.55 is not adopted yet: v29.0.1 and gaia main remain on SDK 0.53.8 (checked 2026-10-31). The tax layer depends on event shapes (coin_spent, coin_received, transfer, withdraw_rewards, delegate, unbond, redelegate, proposal_deposit, wasm) that have been stable since SDK 0.47; the release watcher flags the first release on a new SDK line for review of event attribute names.","gaia#4199 (merged 2026-10-29, backport #4200) restores decoding of historical ParameterChangeProposal content for node queries; expect it in a v29 patch release. The indexer decodes proposals with its own codec, so no tax-layer effect is expected."]}