Aquifer Docs

Walrus Audit Trail

What gets stored permanently on Walrus, why it cannot be altered, and how to verify any decision yourself.

What is Walrus

Walrus is a decentralised storage network built on Sui. It stores arbitrary data as immutable blobs. Once a blob is written, nobody can edit or delete it, including the person who wrote it. Data is distributed across a network of storage nodes, so it persists even if individual nodes go offline.

Aquifer uses Walrus to create a permanent, tamper-proof audit trail of every AI decision.

What gets stored

After every rebalance cycle, the agent writes a JSON blob to Walrus containing:

{
  "round": 42,
  "timestamp": 1719500000000,
  "adapters": [
    { "name": "Suilend", "apy_bps": 812, "balance": 4200000000 },
    { "name": "NAVI",    "apy_bps": 650, "balance": 3100000000 },
    ...
  ],
  "totalAssets": 10000000000,
  "allocation": {
    "Suilend": 5000,
    "NAVI":    3000,
    "Scallop": 2000
  },
  "reasoning": "Suilend currently offers the highest APY at 8.12%..."
}

This captures the full picture of that cycle: what the AI was shown, what it decided, and why.

Why it cannot be altered

Each blob on Walrus is identified by a content-derived hash. If you change even one character of the JSON, the hash changes and the blob becomes a different object entirely. The blob ID stored on-chain is fixed at the time of writing. Anyone can fetch the blob by its ID and verify the contents match.

The vault contract stores the blob ID in the AllocationUpdated event emitted on-chain. The on-chain event is equally immutable. Together, they form an unbreakable link: chain event references blob, blob contains the full record.

This means we cannot retroactively change what the AI decided or why. Even if we wanted to, the on-chain record would point to a blob with a different ID.

How to verify a decision yourself

  1. Open the Audit Trail tab in the app.
  2. Click any entry to expand it.
  3. Click View blob on Walrus to open the raw JSON in your browser.
  4. Click View transaction to see the on-chain event that references that blob.

You can cross-reference the blob ID in the on-chain event with the blob ID in the URL to confirm they match. No trust required.

What the Audit Trail tab shows

Each entry on the Audit Trail page is one rebalance cycle. Expanding an entry shows the full reasoning text and an allocation snapshot at that point in time, including how much USDC was in each protocol and what APY each was offering.

On this page