[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-aave-tx-confirmation":3,"mdc--h954zm-key":35,"related-repo-aave-tx-confirmation":234,"related-org-aave-tx-confirmation":296},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":25,"repoUrl":26,"updatedAt":27,"license":28,"forks":29,"topics":30,"repo":31,"sourceUrl":33,"mdContent":34},"tx-confirmation","confirm Aave transaction status","Confirm what an Aave transaction did after the user signed it — \"did it go through\", \"was my supply processed\", \"check my transaction\" — by reading the position it left behind and comparing with what was simulated.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},"aave","Aave","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Faave.png",[12,16,19,22],{"name":13,"slug":14,"type":15},"Monitoring","monitoring","tag",{"name":17,"slug":18,"type":15},"Finance","finance",{"name":20,"slug":21,"type":15},"Web3","web3",{"name":23,"slug":24,"type":15},"DeFi","defi",0,"https:\u002F\u002Fgithub.com\u002Faave\u002Fskills","2026-08-30T08:53:36.065957",null,1,[],{"repoUrl":26,"stars":25,"forks":29,"topics":32,"description":28},[],"https:\u002F\u002Fgithub.com\u002Faave\u002Fskills\u002Ftree\u002FHEAD\u002Fplugins\u002Fmcp\u002Fskills\u002Ftx-confirmation","---\nname: tx-confirmation\ndescription: Confirm what an Aave transaction did after the user signed it — \"did it go through\", \"was my supply processed\", \"check my transaction\" — by reading the position it left behind and comparing with what was simulated.\n---\n\n# Aave transaction confirmation\n\nA transaction hash is not a result. The result is the position after, compared with the position that was simulated before.\n\n## Steps\n\n1. **Find it in the feed** — `get_user_activity` for the wallet, on the chain the transaction was sent to (v3 reads one market per call, so pass `chainId`). The matching `txHash` row gives the action, the asset and the amount as Aave indexed them. A hash that is not in the feed has not been processed by the protocol yet — or reverted, or was never mined.\n2. **Read the position** — `get_user_summary` and `get_user_positions` for the wallet. The health factor and the balances the action should have changed are the confirmation.\n3. **Compare** with the simulation from earlier in the conversation, if there was one: the `healthFactorAfter` it reported against the health factor now, the amount built against the balance change. A gap larger than accrued interest and price movement is worth naming.\n4. **Clear the next step** — if a later step in the plan depended on this one (an approval before an action, a repay before a withdraw), the confirmation is what clears it. On v4, `get_transaction_processed` exists for exactly this: pass the hash and the `operations` array the build returned, and poll until `processed` is true before building the dependent step. It is v4-only and needs those operations; it does not look up an arbitrary hash.\n\n## Rules\n\n- Do not report success from the hash alone; the position read is the confirmation.\n- A transaction that reverted or was never mined leaves the position unchanged: say that plainly, and that nothing was spent beyond gas.\n- Aave's feed reads current state and history; it does not carry a receipt, block or gas figure. Where the user wants those, say they come from a block explorer, not from here.\n- No signing here: this skill only reads.\n\n## Done when\n\n- The answer states whether the protocol has indexed the transaction, and the position's health factor and changed balances after it.\n- Where a simulation preceded it, the answer compares simulated against actual.\n- Where a dependent step was waiting, the answer says it can now be built.\n",{"data":36,"body":37},{"name":4,"description":6},{"type":38,"children":39},"root",[40,49,55,62,180,186,210,216],{"type":41,"tag":42,"props":43,"children":45},"element","h1",{"id":44},"aave-transaction-confirmation",[46],{"type":47,"value":48},"text","Aave transaction confirmation",{"type":41,"tag":50,"props":51,"children":52},"p",{},[53],{"type":47,"value":54},"A transaction hash is not a result. The result is the position after, compared with the position that was simulated before.",{"type":41,"tag":56,"props":57,"children":59},"h2",{"id":58},"steps",[60],{"type":47,"value":61},"Steps",{"type":41,"tag":63,"props":64,"children":65},"ol",{},[66,103,128,146],{"type":41,"tag":67,"props":68,"children":69},"li",{},[70,76,78,85,87,93,95,101],{"type":41,"tag":71,"props":72,"children":73},"strong",{},[74],{"type":47,"value":75},"Find it in the feed",{"type":47,"value":77}," — ",{"type":41,"tag":79,"props":80,"children":82},"code",{"className":81},[],[83],{"type":47,"value":84},"get_user_activity",{"type":47,"value":86}," for the wallet, on the chain the transaction was sent to (v3 reads one market per call, so pass ",{"type":41,"tag":79,"props":88,"children":90},{"className":89},[],[91],{"type":47,"value":92},"chainId",{"type":47,"value":94},"). The matching ",{"type":41,"tag":79,"props":96,"children":98},{"className":97},[],[99],{"type":47,"value":100},"txHash",{"type":47,"value":102}," row gives the action, the asset and the amount as Aave indexed them. A hash that is not in the feed has not been processed by the protocol yet — or reverted, or was never mined.",{"type":41,"tag":67,"props":104,"children":105},{},[106,111,112,118,120,126],{"type":41,"tag":71,"props":107,"children":108},{},[109],{"type":47,"value":110},"Read the position",{"type":47,"value":77},{"type":41,"tag":79,"props":113,"children":115},{"className":114},[],[116],{"type":47,"value":117},"get_user_summary",{"type":47,"value":119}," and ",{"type":41,"tag":79,"props":121,"children":123},{"className":122},[],[124],{"type":47,"value":125},"get_user_positions",{"type":47,"value":127}," for the wallet. The health factor and the balances the action should have changed are the confirmation.",{"type":41,"tag":67,"props":129,"children":130},{},[131,136,138,144],{"type":41,"tag":71,"props":132,"children":133},{},[134],{"type":47,"value":135},"Compare",{"type":47,"value":137}," with the simulation from earlier in the conversation, if there was one: the ",{"type":41,"tag":79,"props":139,"children":141},{"className":140},[],[142],{"type":47,"value":143},"healthFactorAfter",{"type":47,"value":145}," it reported against the health factor now, the amount built against the balance change. A gap larger than accrued interest and price movement is worth naming.",{"type":41,"tag":67,"props":147,"children":148},{},[149,154,156,162,164,170,172,178],{"type":41,"tag":71,"props":150,"children":151},{},[152],{"type":47,"value":153},"Clear the next step",{"type":47,"value":155}," — if a later step in the plan depended on this one (an approval before an action, a repay before a withdraw), the confirmation is what clears it. On v4, ",{"type":41,"tag":79,"props":157,"children":159},{"className":158},[],[160],{"type":47,"value":161},"get_transaction_processed",{"type":47,"value":163}," exists for exactly this: pass the hash and the ",{"type":41,"tag":79,"props":165,"children":167},{"className":166},[],[168],{"type":47,"value":169},"operations",{"type":47,"value":171}," array the build returned, and poll until ",{"type":41,"tag":79,"props":173,"children":175},{"className":174},[],[176],{"type":47,"value":177},"processed",{"type":47,"value":179}," is true before building the dependent step. It is v4-only and needs those operations; it does not look up an arbitrary hash.",{"type":41,"tag":56,"props":181,"children":183},{"id":182},"rules",[184],{"type":47,"value":185},"Rules",{"type":41,"tag":187,"props":188,"children":189},"ul",{},[190,195,200,205],{"type":41,"tag":67,"props":191,"children":192},{},[193],{"type":47,"value":194},"Do not report success from the hash alone; the position read is the confirmation.",{"type":41,"tag":67,"props":196,"children":197},{},[198],{"type":47,"value":199},"A transaction that reverted or was never mined leaves the position unchanged: say that plainly, and that nothing was spent beyond gas.",{"type":41,"tag":67,"props":201,"children":202},{},[203],{"type":47,"value":204},"Aave's feed reads current state and history; it does not carry a receipt, block or gas figure. Where the user wants those, say they come from a block explorer, not from here.",{"type":41,"tag":67,"props":206,"children":207},{},[208],{"type":47,"value":209},"No signing here: this skill only reads.",{"type":41,"tag":56,"props":211,"children":213},{"id":212},"done-when",[214],{"type":47,"value":215},"Done when",{"type":41,"tag":187,"props":217,"children":218},{},[219,224,229],{"type":41,"tag":67,"props":220,"children":221},{},[222],{"type":47,"value":223},"The answer states whether the protocol has indexed the transaction, and the position's health factor and changed balances after it.",{"type":41,"tag":67,"props":225,"children":226},{},[227],{"type":47,"value":228},"Where a simulation preceded it, the answer compares simulated against actual.",{"type":41,"tag":67,"props":230,"children":231},{},[232],{"type":47,"value":233},"Where a dependent step was waiting, the answer says it can now be built.",{"items":235,"total":295},[236,249,262,275,282],{"slug":237,"name":237,"fn":238,"description":239,"org":240,"tags":241,"stars":25,"repoUrl":26,"updatedAt":248},"account-activity","review Aave account activity history","An Aave account's history — past supplies, borrows, repays, withdrawals and collateral changes, and how net worth or health factor moved over time — for \"transaction history\", \"how has my position changed\", what a wallet did on Aave.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[242,245,246,247],{"name":243,"slug":244,"type":15},"Analytics","analytics",{"name":23,"slug":24,"type":15},{"name":17,"slug":18,"type":15},{"name":20,"slug":21,"type":15},"2026-08-30T08:53:32.35737",{"slug":250,"name":250,"fn":251,"description":252,"org":253,"tags":254,"stars":25,"repoUrl":26,"updatedAt":261},"deleverage","reduce risk on Aave positions","Reduce the risk on an Aave position — \"reduce my risk\", \"unwind\", \"get my health factor up\", \"I'm close to liquidation\" — by comparing the routes (repay, repay from collateral, add collateral) on the resulting health factor before recommending one.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[255,256,257,260],{"name":23,"slug":24,"type":15},{"name":17,"slug":18,"type":15},{"name":258,"slug":259,"type":15},"Risk Assessment","risk-assessment",{"name":20,"slug":21,"type":15},"2026-08-30T08:53:35.023521",{"slug":263,"name":263,"fn":264,"description":265,"org":266,"tags":267,"stars":25,"repoUrl":26,"updatedAt":274},"safe-transactions","prepare Aave protocol transactions","Prepare an Aave state change — supply, borrow, withdraw, repay, or any other prepare_* action — when asked to supply\u002Fborrow\u002Frepay\u002Fwithdraw, close or adjust a position, or build an Aave transaction.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[268,269,272,273],{"name":23,"slug":24,"type":15},{"name":270,"slug":271,"type":15},"Ethereum","ethereum",{"name":17,"slug":18,"type":15},{"name":20,"slug":21,"type":15},"2026-08-30T08:53:31.822763",{"slug":4,"name":4,"fn":5,"description":6,"org":276,"tags":277,"stars":25,"repoUrl":26,"updatedAt":27},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[278,279,280,281],{"name":23,"slug":24,"type":15},{"name":17,"slug":18,"type":15},{"name":13,"slug":14,"type":15},{"name":20,"slug":21,"type":15},{"slug":283,"name":283,"fn":284,"description":285,"org":286,"tags":287,"stars":25,"repoUrl":26,"updatedAt":294},"yield-analysis","analyze Aave yield and interest rates","Compare Aave yields and rates — best APY for an asset, rates across chains or between V3 and V4, APY history and stability, GHO savings (sGHO) — before recommending where to supply or borrow.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[288,291,292,293],{"name":289,"slug":290,"type":15},"Analysis","analysis",{"name":23,"slug":24,"type":15},{"name":17,"slug":18,"type":15},{"name":20,"slug":21,"type":15},"2026-08-30T08:53:35.543006",5,{"items":297,"total":295},[298,305,312,319,326],{"slug":237,"name":237,"fn":238,"description":239,"org":299,"tags":300,"stars":25,"repoUrl":26,"updatedAt":248},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[301,302,303,304],{"name":243,"slug":244,"type":15},{"name":23,"slug":24,"type":15},{"name":17,"slug":18,"type":15},{"name":20,"slug":21,"type":15},{"slug":250,"name":250,"fn":251,"description":252,"org":306,"tags":307,"stars":25,"repoUrl":26,"updatedAt":261},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[308,309,310,311],{"name":23,"slug":24,"type":15},{"name":17,"slug":18,"type":15},{"name":258,"slug":259,"type":15},{"name":20,"slug":21,"type":15},{"slug":263,"name":263,"fn":264,"description":265,"org":313,"tags":314,"stars":25,"repoUrl":26,"updatedAt":274},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[315,316,317,318],{"name":23,"slug":24,"type":15},{"name":270,"slug":271,"type":15},{"name":17,"slug":18,"type":15},{"name":20,"slug":21,"type":15},{"slug":4,"name":4,"fn":5,"description":6,"org":320,"tags":321,"stars":25,"repoUrl":26,"updatedAt":27},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[322,323,324,325],{"name":23,"slug":24,"type":15},{"name":17,"slug":18,"type":15},{"name":13,"slug":14,"type":15},{"name":20,"slug":21,"type":15},{"slug":283,"name":283,"fn":284,"description":285,"org":327,"tags":328,"stars":25,"repoUrl":26,"updatedAt":294},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[329,330,331,332],{"name":289,"slug":290,"type":15},{"name":23,"slug":24,"type":15},{"name":17,"slug":18,"type":15},{"name":20,"slug":21,"type":15}]