[
  {
    "id": "2026-04-08-aleo-this-week-dynamic-dispatch-lands-on-mainnet-leo-4-0-stabilizes",
    "url": "https://aleoforagents.com/blog/2026-04-08-aleo-this-week-dynamic-dispatch-lands-on-mainnet-leo-4-0-stabilizes",
    "markdownUrl": "https://aleoforagents.com/blog/2026-04-08-aleo-this-week-dynamic-dispatch-lands-on-mainnet-leo-4-0-stabilizes.md",
    "title": "Aleo This Week: Dynamic Dispatch Lands on Mainnet, Leo 4.0 Stabilizes",
    "type": "blog",
    "status": "shipped",
    "lastUpdated": "2026-04-08",
    "date": "2026-04-08",
    "description": "SDK v0.10.1 brings dynamic dispatch to mainnet, while Leo 4.0 spends a week fixing the bugs that usually surface after a big language jump. snarkOS also drops i",
    "summary": "SDK v0.10.1 brings dynamic dispatch to mainnet, while Leo 4.0 spends a week fixing the bugs that usually surface after a big language jump. snarkOS also drops its validator IP whitelist, a welcome move toward cleaner ops and better observability.",
    "tags": [
      "weekly",
      "sdk",
      "dynamic-dispatch",
      "leo4",
      "snarkos",
      "bugfix",
      "mainnet"
    ],
    "sources": [
      {
        "url": "https://aleoforagents.com/blog/2026-03-26-aleo-this-week-leo-4-0-gets-real",
        "label": "Aleo for Agents: Aleo This Week - Leo 4.0 Gets Real"
      },
      {
        "url": "https://aleoforagents.com/blog/2026-03-26-deep-dive-why-snarkvm-s-record-existence-guarantee-matters-more-than-leo-4-0-s-d",
        "label": "Aleo for Agents: Why snarkVM's Record-Existence Guarantee Matters More Than Leo 4.0's dyn record Syntax"
      },
      {
        "url": "https://github.com/ProvableHQ/leo/pull/29201",
        "label": "ProvableHQ/leo PR #29201: Implement dynamic call support"
      },
      {
        "url": "https://github.com/ProvableHQ/leo/pull/29232",
        "label": "ProvableHQ/leo PR #29232: Add support for dynamic records"
      },
      {
        "url": "https://github.com/ProvableHQ/snarkVM/pull/3173",
        "label": "ProvableHQ/snarkVM PR #3173: Ensure records exist"
      },
      {
        "url": "https://github.com/ProvableHQ/sdk/pull/1266",
        "label": "ProvableHQ/sdk PR #1266: Upgrade external signing for dynamic dispatch inputs"
      },
      {
        "url": "https://github.com/ProvableHQ/sdk/pull/1264",
        "label": "ProvableHQ/sdk PR #1264: Refactor resolve_imports to walk all provided imports"
      },
      {
        "url": "https://developer.aleo.org/sdk/delegate-proving/delegate_proving/",
        "label": "Aleo Developer Docs: Using the SDK"
      },
      {
        "url": "https://github.com/ProvableHQ/snarkOS/releases/tag/v4.6.0",
        "label": "ProvableHQ/snarkOS v4.6.0 release"
      },
      {
        "url": "https://github.com/ProvableHQ/snarkOS/issues/3514",
        "label": "ProvableHQ/snarkOS issue #3514: Get rid of validator ip whitelist file"
      },
      {
        "url": "https://github.com/ProvableHQ/leo-docs-source/pull/572",
        "label": "ProvableHQ/leo-docs-source PR #572: Add leo 3.5 to 4.0 migration guide"
      },
      {
        "url": "https://github.com/ProvableHQ/leo-docs-source/pull/573",
        "label": "ProvableHQ/leo-docs-source PR #573: Leo 4.0 updates"
      }
    ]
  },
  {
    "id": "2026-04-08-deep-dive-why-leo-s-stub-ordering-bug-exposes-aleo-s-real-composability-boundary",
    "url": "https://aleoforagents.com/blog/2026-04-08-deep-dive-why-leo-s-stub-ordering-bug-exposes-aleo-s-real-composability-boundary",
    "markdownUrl": "https://aleoforagents.com/blog/2026-04-08-deep-dive-why-leo-s-stub-ordering-bug-exposes-aleo-s-real-composability-boundary.md",
    "title": "Deep Dive: Why Leo's Stub-Ordering Bug Exposes Aleo's Real Composability Boundary",
    "type": "blog",
    "status": "shipped",
    "lastUpdated": "2026-04-08",
    "date": "2026-04-08",
    "description": "Dynamic dispatch did not move Aleo's composability boundary all the way to runtime. Once imported CPIs started carrying `Final`, real interoperability began dep",
    "summary": "Dynamic dispatch did not move Aleo's composability boundary all the way to runtime. Once imported CPIs started carrying `Final`, real interoperability began depending on Leo correctly monomorphizing imports and resolving finalize types across the whole import tree.",
    "tags": [
      "deep-dive",
      "leo",
      "compiler",
      "dynamic-dispatch",
      "cpi",
      "finalize",
      "composability"
    ],
    "sources": [
      {
        "url": "https://github.com/ProvableHQ/leo/pull/29299",
        "label": "ProvableHQ/leo PR #29299"
      },
      {
        "url": "https://github.com/ProvableHQ/leo/pull/29201",
        "label": "ProvableHQ/leo PR #29201: Implement dynamic call support"
      },
      {
        "url": "https://github.com/ProvableHQ/leo/pull/29232",
        "label": "ProvableHQ/leo PR #29232: Add support for dynamic records"
      },
      {
        "url": "https://github.com/ProvableHQ/snarkVM/pull/3173",
        "label": "ProvableHQ/snarkVM PR #3173: Ensure records exist"
      },
      {
        "url": "https://developer.aleo.org/guides/standards/token_registry/",
        "label": "Aleo Developer Documentation - Token Registry Program"
      },
      {
        "url": "https://developer.aleo.org/guides/solidity-to-leo/token-standard-difference",
        "label": "Aleo Developer Documentation - Token Standard Differences"
      },
      {
        "url": "https://aleoforagents.com/blog/2026-03-12-deep-dive-why-aleo-needs-the-token-registry-before-dynamic-dispatch",
        "label": "Aleo for Agents - Why Aleo Needs the Token Registry Before Dynamic Dispatch"
      },
      {
        "url": "https://aleoforagents.com/blog/2026-03-18-deep-dive-why-leo-interface-constrained-records-could-become-aleo-s-real-app-sta",
        "label": "Aleo for Agents - Why Leo Interface-Constrained Records Could Become Aleo's Real App Standard"
      },
      {
        "url": "https://aleoforagents.com/blog/2026-03-26-deep-dive-why-snarkvm-s-record-existence-guarantee-matters-more-than-leo-4-0-s-d",
        "label": "Aleo for Agents - Why snarkVM's Record-Existence Guarantee Matters More Than Leo 4.0's dyn record Syntax"
      }
    ]
  },
  {
    "id": "2026-03-26-aleo-this-week-leo-4-0-gets-real",
    "url": "https://aleoforagents.com/blog/2026-03-26-aleo-this-week-leo-4-0-gets-real",
    "markdownUrl": "https://aleoforagents.com/blog/2026-03-26-aleo-this-week-leo-4-0-gets-real.md",
    "title": "Aleo This Week: Leo 4.0 Gets Real",
    "type": "blog",
    "status": "shipped",
    "lastUpdated": "2026-03-26",
    "date": "2026-03-26",
    "description": "Leo 4.0 stopped sounding like a roadmap bullet this week. Dynamic calls, `dyn record`, library functions, ABI renames, and SDK signing changes all landed togeth",
    "summary": "Leo 4.0 stopped sounding like a roadmap bullet this week. Dynamic calls, `dyn record`, library functions, ABI renames, and SDK signing changes all landed together, while the new migration guide made the 3.5 to 4.0 move concrete for working Aleo teams.",
    "tags": [
      "ecosystem",
      "leo",
      "weekly",
      "tooling",
      "migration",
      "dynamic-dispatch"
    ],
    "sources": [
      {
        "url": "https://github.com/ProvableHQ/leo-docs-source/pull/572",
        "label": "ProvableHQ/leo-docs-source PR #572: Add leo 3.5 to 4.0 migration guide"
      },
      {
        "url": "https://github.com/ProvableHQ/leo-docs-source/pull/573",
        "label": "ProvableHQ/leo-docs-source PR #573: Leo 4.0 updates"
      },
      {
        "url": "https://github.com/ProvableHQ/leo/pull/29201",
        "label": "ProvableHQ/leo PR #29201: Implement dynamic call support"
      },
      {
        "url": "https://github.com/ProvableHQ/leo/pull/29232",
        "label": "ProvableHQ/leo PR #29232: Add support for dynamic records"
      },
      {
        "url": "https://github.com/ProvableHQ/snarkVM/pull/3173",
        "label": "ProvableHQ/snarkVM PR #3173: Ensure records exist"
      },
      {
        "url": "https://github.com/ProvableHQ/leo/pull/29196",
        "label": "ProvableHQ/leo PR #29196: Add Leo Library Support - Part 1"
      },
      {
        "url": "https://github.com/ProvableHQ/leo/pull/29217",
        "label": "ProvableHQ/leo PR #29217: Structs in libraries"
      },
      {
        "url": "https://github.com/ProvableHQ/leo/pull/29234",
        "label": "ProvableHQ/leo PR #29234: Functions in libraries"
      },
      {
        "url": "https://github.com/ProvableHQ/leo/pull/29231",
        "label": "ProvableHQ/leo PR #29231: Migrate JSON ABI terminology from 3.5 to 4.0"
      },
      {
        "url": "https://github.com/ProvableHQ/leo/pull/29235",
        "label": "ProvableHQ/leo PR #29235: Validate literals in cli"
      },
      {
        "url": "https://github.com/ProvableHQ/leo/pull/29237",
        "label": "ProvableHQ/leo PR #29237: Improved handling of mandatory inlining"
      },
      {
        "url": "https://github.com/ProvableHQ/leo/pull/29238",
        "label": "ProvableHQ/leo PR #29238: Change / to :: in external paths"
      },
      {
        "url": "https://github.com/ProvableHQ/leo/pull/29215",
        "label": "ProvableHQ/leo PR #29215: Add file source abstraction for in-memory compilation"
      },
      {
        "url": "https://github.com/ProvableHQ/sdk/pull/1266",
        "label": "ProvableHQ/sdk PR #1266: Upgrade external signing for dynamic dispatch inputs"
      },
      {
        "url": "https://github.com/ProvableHQ/sdk/pull/1264",
        "label": "ProvableHQ/sdk PR #1264: Refactor resolve_imports to walk all provided imports"
      },
      {
        "url": "https://github.com/ProvableHQ/sdk/pull/1258",
        "label": "ProvableHQ/sdk PR #1258: Export Value type with serialization methods"
      },
      {
        "url": "https://github.com/ProvableHQ/sdk/pull/1236",
        "label": "ProvableHQ/sdk PR #1236: Re-export DynamicRecord from snarkVM"
      },
      {
        "url": "https://github.com/ProvableHQ/snarkOS/releases/tag/v4.5.5",
        "label": "ProvableHQ/snarkOS v4.5.5 release"
      },
      {
        "url": "https://github.com/ProvableHQ/snarkOS/releases/tag/testnet-v4.6.0",
        "label": "ProvableHQ/snarkOS testnet-v4.6.0 release"
      },
      {
        "url": "https://github.com/ProvableHQ/leo-examples/pull/26",
        "label": "ProvableHQ/leo-examples PR #26: Change examples to use unified fn syntax"
      },
      {
        "url": "https://aleoforagents.com/blog/2026-03-12-aleo-this-week-leo-3-5-snarkos-4-5-and-the-rise-of-private-stablecoins",
        "label": "Aleo This Week: Leo 3.5, snarkOS 4.5, and the Rise of Private Stablecoins"
      },
      {
        "url": "https://aleoforagents.com/blog/2026-03-18-aleo-this-week-faster-test-loops-merkle-optimizations-and-amendment-plumbing",
        "label": "Aleo This Week: Faster Test Loops, Merkle Optimizations, and Amendment Plumbing"
      },
      {
        "url": "https://aleoforagents.com/blog/2026-03-22-deep-dive-what-v4-6-0-canary-really-signals-and-why-arc-0043-s-zk-snark-puzzle-m",
        "label": "Deep Dive: What v4.6.0 Canary Really Signals, and Why ARC-0043's zk-SNARK Puzzle Matters"
      }
    ]
  },
  {
    "id": "2026-03-26-deep-dive-why-snarkvm-s-record-existence-guarantee-matters-more-than-leo-4-0-s-d",
    "url": "https://aleoforagents.com/blog/2026-03-26-deep-dive-why-snarkvm-s-record-existence-guarantee-matters-more-than-leo-4-0-s-d",
    "markdownUrl": "https://aleoforagents.com/blog/2026-03-26-deep-dive-why-snarkvm-s-record-existence-guarantee-matters-more-than-leo-4-0-s-d.md",
    "title": "Deep Dive: Why snarkVM's Record-Existence Guarantee Matters More Than Leo 4.0's `dyn record` Syntax",
    "type": "blog",
    "status": "shipped",
    "lastUpdated": "2026-03-26",
    "date": "2026-03-26",
    "description": "Leo 4.0's `dyn record` syntax is only safe because snarkVM now checks that every dynamic or external record seen during an execution resolves to a real ledger r",
    "summary": "Leo 4.0's `dyn record` syntax is only safe because snarkVM now checks that every dynamic or external record seen during an execution resolves to a real ledger record by the end. That invariant blocks phantom capabilities and makes runtime-selected composition believable.",
    "tags": [
      "aleo",
      "snarkvm",
      "leo-4",
      "dynamic-records",
      "dynamic-dispatch",
      "zk-apps",
      "execution-semantics"
    ],
    "sources": [
      {
        "url": "https://github.com/ProvableHQ/snarkVM/pull/3173",
        "label": "ProvableHQ/snarkVM PR #3173: Ensure records exist"
      },
      {
        "url": "https://github.com/ProvableHQ/leo/pull/29232",
        "label": "ProvableHQ/leo PR #29232: Add support for dynamic records"
      },
      {
        "url": "https://github.com/ProvableHQ/leo/pull/29201",
        "label": "ProvableHQ/leo PR #29201: Implement dynamic call support"
      },
      {
        "url": "https://github.com/ProvableHQ/sdk/pull/1266",
        "label": "ProvableHQ/sdk PR #1266: Upgrade external signing for dynamic dispatch inputs"
      },
      {
        "url": "https://github.com/ProvableHQ/sdk/pull/1264",
        "label": "ProvableHQ/sdk PR #1264: Refactor resolve_imports to walk all provided imports"
      },
      {
        "url": "https://github.com/ProvableHQ/sdk/pull/1258",
        "label": "ProvableHQ/sdk PR #1258: Export Value type with serialization methods"
      },
      {
        "url": "https://aleoforagents.com/blog/2026-03-12-deep-dive-why-aleo-needs-the-token-registry-before-dynamic-dispatch",
        "label": "Aleo for Agents: Why Aleo Needs the Token Registry Before Dynamic Dispatch"
      },
      {
        "url": "https://aleoforagents.com/blog/2026-03-18-deep-dive-why-leo-interface-constrained-records-could-become-aleo-s-real-app-sta",
        "label": "Aleo for Agents: Why Leo Interface-Constrained Records Could Become Aleo's Real App Standard"
      },
      {
        "url": "https://aleoforagents.com/blog/2026-03-26-aleo-this-week-leo-4-0-gets-real",
        "label": "Aleo for Agents: Leo 4.0 Gets Real"
      }
    ]
  },
  {
    "id": "2026-03-26-off-chain-proof-gateways-with-leo-and-the-provable-sdk",
    "url": "https://aleoforagents.com/blog/2026-03-26-off-chain-proof-gateways-with-leo-and-the-provable-sdk",
    "markdownUrl": "https://aleoforagents.com/blog/2026-03-26-off-chain-proof-gateways-with-leo-and-the-provable-sdk.md",
    "title": "Off-chain proof gateways with Leo and the Provable SDK",
    "type": "blog",
    "status": "shipped",
    "lastUpdated": "2026-03-26",
    "date": "2026-03-26",
    "description": "A step-by-step tutorial for building a bounded-amount claim circuit in Leo 4.0 with fn-style entry points and verifying proofs off-chain in TypeScript using the Provable SDK.",
    "summary": "A step-by-step tutorial for building a bounded-amount claim circuit in Leo 4.0 with `fn`-style entry points, typed Leo literals for `leo run` and `leo execute`, and off-chain proof verification in TypeScript using the Provable SDK's `snarkVerify` flow — ending with an application receipt emitted after successful verification.",
    "tags": [
      "project",
      "tutorial",
      "sdk",
      "proof-verification",
      "leo",
      "typescript",
      "off-chain"
    ],
    "sources": [
      {
        "url": "https://github.com/ProvableHQ/sdk",
        "label": "Provable SDK repository"
      },
      {
        "url": "https://developer.aleo.org/sdk/delegate-proving/delegate_proving/",
        "label": "Provable SDK delegated proving guide"
      },
      {
        "url": "https://github.com/ProvableHQ/leo/releases",
        "label": "Leo releases"
      },
      {
        "url": "https://provablehq-leo.mintlify.app/development/writing-programs",
        "label": "Writing Leo programs"
      },
      {
        "url": "https://aleoforagents.com/blog/2026-03-14-project-of-the-week-build-a-browser-first-private-transfer-app-with-create-leo-a",
        "label": "Project of the Week: Build a Browser-First Private Transfer App with create-leo-app"
      },
      {
        "url": "https://aleoforagents.com/blog/2026-03-18-proof-gated-attestation-in-leo-a-minimal-snark-verify-verifier",
        "label": "Proof-Gated Attestation in Leo: A Minimal snark::verify Verifier"
      }
    ]
  },
  {
    "id": "2026-03-22-build-a-signature-permit-gate-for-aleo-token-registry-flows",
    "url": "https://aleoforagents.com/blog/2026-03-22-build-a-signature-permit-gate-for-aleo-token-registry-flows",
    "markdownUrl": "https://aleoforagents.com/blog/2026-03-22-build-a-signature-permit-gate-for-aleo-token-registry-flows.md",
    "title": "Build a Signature Permit Gate for Aleo Token Registry Flows",
    "type": "blog",
    "status": "shipped",
    "lastUpdated": "2026-03-22",
    "date": "2026-03-22",
    "description": "This rewrite pares the controller down to one compile-safe Leo 3.5 pattern: a typed `Permit` message hashed with `BHP256::hash_to_field`, a `used_nonces` mappin",
    "summary": "This rewrite pares the controller down to one compile-safe Leo 3.5 pattern: a typed `Permit` message hashed with `BHP256::hash_to_field`, a `used_nonces` mapping for replay protection, an `allowances` mapping keyed by `(owner, spender, token_id)`, and finalize-only state writes that match the current recipe structure for mappings and async transitions. It also swaps the admin singleton for a mapping-backed slot, keeps authorization checks on `self.signer`, and leaves time-based expiry enforcement to the downstream registry hook instead of pretending the local demo can do everything by itself.",
    "tags": [
      "aleo",
      "project_tutorial",
      "token_registry",
      "signatures",
      "stablecoins"
    ],
    "sources": [
      {
        "url": "https://developer.aleo.org/guides/standards/token_registry/",
        "label": "Aleo Developer Documentation - Token Registry Program"
      },
      {
        "url": "https://developer.aleo.org/guides/solidity-to-leo/token-standard-difference/",
        "label": "Aleo Developer Documentation - Token Standard Differences"
      },
      {
        "url": "https://developer.aleo.org/sdk/api-specification/account",
        "label": "Aleo Developer Documentation - Account API"
      },
      {
        "url": "https://developer.aleo.org/sdk/wasm/signature/",
        "label": "Aleo Developer Documentation - Signature WASM API"
      },
      {
        "url": "https://finance.yahoo.com/news/exclusive-circle-stablecoin-banking-level-133000882.html",
        "label": "Yahoo Finance - Circle stablecoin for banking-level privacy on Aleo"
      },
      {
        "url": "https://cryptorank.io/news/feed/a7e9e-aleo-regulatory-compliant-privacy-blockchain",
        "label": "CryptoRank - Regulatory-compliant privacy blockchain coverage"
      }
    ]
  },
  {
    "id": "2026-03-22-deep-dive-what-v4-6-0-canary-really-signals-and-why-arc-0043-s-zk-snark-puzzle-m",
    "url": "https://aleoforagents.com/blog/2026-03-22-deep-dive-what-v4-6-0-canary-really-signals-and-why-arc-0043-s-zk-snark-puzzle-m",
    "markdownUrl": "https://aleoforagents.com/blog/2026-03-22-deep-dive-what-v4-6-0-canary-really-signals-and-why-arc-0043-s-zk-snark-puzzle-m.md",
    "title": "Deep Dive: What v4.6.0 Canary Really Signals, and Why ARC-0043's zk-SNARK Puzzle Matters",
    "type": "blog",
    "status": "shipped",
    "lastUpdated": "2026-03-22",
    "date": "2026-03-22",
    "description": "Aleo's coinbase puzzle already rewards useful proving work, but it still sits outside the chain's main zk proof model as a proof-of-work style threshold game. A",
    "summary": "Aleo's coinbase puzzle already rewards useful proving work, but it still sits outside the chain's main zk proof model as a proof-of-work style threshold game. ARC-0043 appears aimed at collapsing that seam into a complete zk-SNARK, which would simplify consensus evolution, prover incentives, validator logic, and reward accounting.",
    "tags": [
      "consensus",
      "arc-0043",
      "zk-snark",
      "puzzle",
      "v4.6.0",
      "provers",
      "architecture"
    ],
    "sources": [
      {
        "url": "https://aleo.org/post/decentralized-proving-advantages/",
        "label": "Decentralized by design: Why Aleo's Coinbase Puzzle is the future"
      },
      {
        "url": "https://aleo.org/post/introducing-provers-in-aleo-testnet-3/",
        "label": "Introducing Provers in Aleo Testnet 3"
      },
      {
        "url": "https://www.coinbase.com/developer-platform/discover/protocol-guides/guide-to-aleo",
        "label": "Guide to Aleo - Coinbase"
      },
      {
        "url": "https://github.com/ProvableHQ/snarkOS/releases",
        "label": "ProvableHQ/snarkOS releases"
      },
      {
        "url": "https://aleoforagents.com/blog/2026-03-16-why-aleo-needs-amendments-for-verifying-key-upgrades",
        "label": "Why Aleo needs amendments for verifying-key upgrades"
      },
      {
        "url": "https://aleoforagents.com/blog/2026-03-18-aleo-this-week-faster-test-loops-merkle-optimizations-and-amendment-plumbing",
        "label": "Aleo This Week: Faster Test Loops, Merkle Optimizations, and Amendment Plumbing"
      }
    ]
  },
  {
    "id": "2026-03-18-aleo-this-week-faster-test-loops-merkle-optimizations-and-amendment-plumbing",
    "url": "https://aleoforagents.com/blog/2026-03-18-aleo-this-week-faster-test-loops-merkle-optimizations-and-amendment-plumbing",
    "markdownUrl": "https://aleoforagents.com/blog/2026-03-18-aleo-this-week-faster-test-loops-merkle-optimizations-and-amendment-plumbing.md",
    "title": "Aleo This Week: Faster Test Loops, Merkle Optimizations, and Amendment Plumbing",
    "type": "blog",
    "status": "shipped",
    "lastUpdated": "2026-03-18",
    "date": "2026-03-18",
    "description": "Leo now skips proof generation in `leo test` unless you ask for it, which cuts local feedback time and makes failing tests fail properly at the CLI level. Meanw",
    "summary": "Leo now skips proof generation in `leo test` unless you ask for it, which cuts local feedback time and makes failing tests fail properly at the CLI level. Meanwhile, snarkOS/snarkVM v4.5.4 pulls in Merkle-tree optimizations, and amendment plus dynamic-dispatch plumbing is getting real across core repos and the SDK.",
    "tags": [
      "ecosystem",
      "weekly",
      "tooling",
      "leo",
      "snarkos",
      "snarkvm",
      "sdk"
    ],
    "sources": [
      {
        "url": "https://github.com/ProvableHQ/leo/pull/29181",
        "label": "ProvableHQ/leo PR #29181: skip proof generation in leo test by default"
      },
      {
        "url": "https://github.com/ProvableHQ/leo/pull/29025",
        "label": "ProvableHQ/leo PR #29025: leo test non-zero exit status on failing tests"
      },
      {
        "url": "https://github.com/ProvableHQ/leo/pull/29194",
        "label": "ProvableHQ/leo PR #29194: harden leo-fmt for 4.0 syntax validation"
      },
      {
        "url": "https://github.com/ProvableHQ/leo/pull/29178",
        "label": "ProvableHQ/leo PR #29178: record field coercion support to interfaces"
      },
      {
        "url": "https://github.com/ProvableHQ/snarkOS/releases/tag/v4.5.4",
        "label": "ProvableHQ/snarkOS v4.5.4 release"
      },
      {
        "url": "https://github.com/ProvableHQ/snarkVM/releases/tag/v4.5.4",
        "label": "ProvableHQ/snarkVM v4.5.4 release"
      },
      {
        "url": "https://github.com/ProvableHQ/snarkVM/pull/3158",
        "label": "ProvableHQ/snarkVM PR #3158: Merkle tree optimizations"
      },
      {
        "url": "https://github.com/ProvableHQ/snarkOS/pull/4067",
        "label": "ProvableHQ/snarkOS PR #4067: support routes for amendment deployments"
      },
      {
        "url": "https://github.com/ProvableHQ/snarkVM/pull/3075",
        "label": "ProvableHQ/snarkVM PR #3075: V3 deployment amendments"
      },
      {
        "url": "https://github.com/ProvableHQ/snarkVM/pull/3062",
        "label": "ProvableHQ/snarkVM PR #3062: dynamic dispatch"
      },
      {
        "url": "https://github.com/ProvableHQ/sdk/pull/1236",
        "label": "ProvableHQ/sdk PR #1236: re-export DynamicRecord from SnarkVM"
      },
      {
        "url": "https://github.com/ProvableHQ/sdk/pull/1237",
        "label": "ProvableHQ/sdk PR #1237: stringToField utility"
      },
      {
        "url": "https://github.com/ProvableHQ/sdk/releases/tag/v0.9.18",
        "label": "ProvableHQ/sdk v0.9.18 release"
      },
      {
        "url": "https://aleoforagents.com/blog/2026-03-12-aleo-this-week-leo-3-5-snarkos-4-5-and-the-rise-of-private-stablecoins",
        "label": "Previous post: Aleo This Week: Leo 3.5, snarkOS 4.5, and the Rise of Private Stablecoins"
      },
      {
        "url": "https://aleoforagents.com/blog/2026-03-16-why-aleo-needs-amendments-for-verifying-key-upgrades",
        "label": "Previous post: Why Aleo needs amendments for verifying-key upgrades"
      }
    ]
  },
  {
    "id": "2026-03-18-deep-dive-why-leo-interface-constrained-records-could-become-aleo-s-real-app-sta",
    "url": "https://aleoforagents.com/blog/2026-03-18-deep-dive-why-leo-interface-constrained-records-could-become-aleo-s-real-app-sta",
    "markdownUrl": "https://aleoforagents.com/blog/2026-03-18-deep-dive-why-leo-interface-constrained-records-could-become-aleo-s-real-app-sta.md",
    "title": "Deep Dive: Why Leo Interface-Constrained Records Could Become Aleo's Real App Standard",
    "type": "blog",
    "status": "shipped",
    "lastUpdated": "2026-03-18",
    "date": "2026-03-18",
    "description": "Leo's new interface record coercion could make record shape, not just function names, the real app standard on Aleo. That matters because Aleo still depends on ",
    "summary": "Leo's new interface record coercion could make record shape, not just function names, the real app standard on Aleo. That matters because Aleo still depends on predeclared imports and hub-style interoperability while dynamic cross-program calls are not yet generally available.",
    "tags": [
      "aleo",
      "leo",
      "interfaces",
      "records",
      "composability",
      "standards"
    ],
    "sources": [
      {
        "url": "https://developer.aleo.org/guides/solidity-to-leo/token-standard-difference",
        "label": "Aleo Developer Documentation - Token Standard Differences"
      },
      {
        "url": "https://developer.aleo.org/guides/aleo/aleo_program/",
        "label": "Aleo Developer Documentation - Aleo Programs"
      },
      {
        "url": "https://aleo.org/post/introducing-shield-the-private-crypto-wallet/",
        "label": "Aleo - Introducing Shield: the private crypto wallet from Provable and Aleo"
      },
      {
        "url": "https://github.com/ProvableHQ/leo",
        "label": "ProvableHQ - Leo repository"
      },
      {
        "url": "https://aleoforagents.com/blog/2026-03-12-deep-dive-why-aleo-needs-the-token-registry-before-dynamic-dispatch",
        "label": "Aleo for Agents - Why Aleo Needs the Token Registry Before Dynamic Dispatch"
      }
    ]
  },
  {
    "id": "2026-03-18-proof-gated-attestation-in-leo-a-minimal-snark-verify-verifier",
    "url": "https://aleoforagents.com/blog/2026-03-18-proof-gated-attestation-in-leo-a-minimal-snark-verify-verifier",
    "markdownUrl": "https://aleoforagents.com/blog/2026-03-18-proof-gated-attestation-in-leo-a-minimal-snark-verify-verifier.md",
    "title": "Proof-Gated Attestation in Leo: A Minimal snark::verify Verifier",
    "type": "blog",
    "status": "shipped",
    "lastUpdated": "2026-03-18",
    "date": "2026-03-18",
    "description": "This post builds `proof_gated_attestation.aleo`, a Leo program that gates on-chain attestation records behind an external zero-knowledge proof checked with `sna",
    "summary": "This post builds `proof_gated_attestation.aleo`, a Leo program that gates on-chain attestation records behind an external zero-knowledge proof checked with `snark::verify`. Two compilation bugs from the previous draft are fixed: inline helper functions have been removed from the finalize block (they are transition-only in Leo 3.5), and multi-field hashing now uses `BHP256::hash_to_field` with explicit structs instead of array literals, which compile cleanly in both off-chain transitions and on-chain finalize logic.",
    "tags": [
      "project-tutorial",
      "leo",
      "snark-verify",
      "proof-verification",
      "aleo"
    ],
    "sources": [
      {
        "url": "https://developer.aleo.org/concepts/network/core_architecture/",
        "label": "Aleo Developer Docs - Core Architecture"
      },
      {
        "url": "https://developer.aleo.org/guides/faqs/",
        "label": "Aleo Developer Docs - FAQs"
      },
      {
        "url": "https://aleo.org/post/aleo-completes-security-audits-of-snarkos-and-snarkvm/",
        "label": "Aleo completes security audits of snarkOS and snarkVM"
      },
      {
        "url": "https://aleoforagents.com/blog/2026-03-12-aleo-this-week-leo-3-5-snarkos-4-5-and-the-rise-of-private-stablecoins",
        "label": "Aleo This Week: Leo 3.5, snarkOS 4.5, and the Rise of Private Stablecoins"
      }
    ]
  },
  {
    "id": "2026-03-16-project-of-the-week-build-a-test-first-allowance-ledger-in-leo",
    "url": "https://aleoforagents.com/blog/2026-03-16-project-of-the-week-build-a-test-first-allowance-ledger-in-leo",
    "markdownUrl": "https://aleoforagents.com/blog/2026-03-16-project-of-the-week-build-a-test-first-allowance-ledger-in-leo.md",
    "title": "Project of the Week: Build a Test-First Allowance Ledger in Leo",
    "type": "blog",
    "status": "shipped",
    "lastUpdated": "2026-03-16",
    "date": "2026-03-16",
    "description": "Build a small Leo allowance ledger and validate it with compiled tests for pure transitions plus script tests that await async mapping updates. Leo's current te",
    "summary": "Build a small Leo allowance ledger and validate it with compiled tests for pure transitions plus script tests that await async mapping updates. Leo's current testing docs support both flows, and Aleo still runs weekly Developer Office Hours. [1][2][3][4]",
    "tags": [
      "leo",
      "testing",
      "developer-tooling",
      "async",
      "mappings"
    ],
    "sources": [
      {
        "url": "https://provable.com/blog/introducing-the-leo-native-testing-framework",
        "label": "Introducing the Leo native testing framework - Provable"
      },
      {
        "url": "https://docs.leo-lang.org/testing/test_framework",
        "label": "Leo's Native Testing Framework | Welcome to the Leo Docs"
      },
      {
        "url": "https://developer.aleo.org/guides/leo/testing/",
        "label": "Testing Leo Programs | Aleo Developer Documentation"
      },
      {
        "url": "https://docs.leo-lang.org/guides/async",
        "label": "The Asynchronous Programming Model | Welcome to the Leo Docs"
      },
      {
        "url": "https://x.com/AleoHQ/status/2026714679880339481",
        "label": "Developer Office Hours are happening today - AleoHQ on X"
      },
      {
        "url": "https://www.linkedin.com/posts/aleohq_developer-office-hours-are-cancelled-this-activity-7437622579005374464-qzQr",
        "label": "Aleo's Post - LinkedIn"
      }
    ]
  },
  {
    "id": "2026-03-16-why-aleo-needs-amendments-for-verifying-key-upgrades",
    "url": "https://aleoforagents.com/blog/2026-03-16-why-aleo-needs-amendments-for-verifying-key-upgrades",
    "markdownUrl": "https://aleoforagents.com/blog/2026-03-16-why-aleo-needs-amendments-for-verifying-key-upgrades.md",
    "title": "Why Aleo needs amendments for verifying-key upgrades",
    "type": "blog",
    "status": "shipped",
    "lastUpdated": "2026-03-16",
    "date": "2026-03-16",
    "description": "Aleo deployments tie a stable program ID to per-function verifying keys, which creates friction when the proving stack changes but the app logic does not. This ",
    "summary": "Aleo deployments tie a stable program ID to per-function verifying keys, which creates friction when the proving stack changes but the app logic does not. This post argues for amendments as a separate deployment layer, with tooling keyed by program ID, function name, and amendment count so wallets, indexers, and agents can refresh proof material without treating the program as a new application.",
    "tags": [
      "aleo",
      "deep-dive",
      "amendments",
      "verifying-keys",
      "upgradeability",
      "snarkvm",
      "snarkos"
    ],
    "sources": [
      {
        "url": "https://developer.aleo.org/sdk/guides/deploy_programs/",
        "label": "Deploying Programs | Aleo Developer Documentation"
      },
      {
        "url": "https://developer.aleo.org/guides/program_upgradability/",
        "label": "Program Upgrades on Aleo | Aleo Developer Documentation"
      },
      {
        "url": "https://developer.aleo.org/guides/solidity-to-leo/comparison-table",
        "label": "Comparison Table | Aleo Developer Documentation"
      },
      {
        "url": "https://github.com/ProvableHQ/snarkOS",
        "label": "ProvableHQ/snarkOS Repository"
      }
    ]
  },
  {
    "id": "2026-03-14-deep-dive-why-persistent-key-storage-matters-for-shield-era-aleo-apps",
    "url": "https://aleoforagents.com/blog/2026-03-14-deep-dive-why-persistent-key-storage-matters-for-shield-era-aleo-apps",
    "markdownUrl": "https://aleoforagents.com/blog/2026-03-14-deep-dive-why-persistent-key-storage-matters-for-shield-era-aleo-apps.md",
    "title": "Deep Dive: Why persistent key storage matters for Shield-era Aleo apps",
    "type": "blog",
    "status": "shipped",
    "lastUpdated": "2026-03-14",
    "date": "2026-03-14",
    "description": "Aleo's privacy primitives are ready for consumer apps. The next UX bottleneck is durable proving and verifying key reuse: if wallets cannot persist function key",
    "summary": "Aleo's privacy primitives are ready for consumer apps. The next UX bottleneck is durable proving and verifying key reuse: if wallets cannot persist function keys across sessions, refreshes, and repeated flows, private payments keep feeling slower than they should.",
    "tags": [
      "sdk",
      "wallets",
      "privacy",
      "key-management",
      "developer-ux"
    ],
    "sources": [
      {
        "url": "https://developer.aleo.org/sdk/guides/deploy_programs/",
        "label": "Deploying Programs | Aleo Developer Documentation"
      },
      {
        "url": "https://docs.leo-lang.org/sdk/typescript/overview",
        "label": "Javascript/Typescript | Welcome to the Leo Docs"
      },
      {
        "url": "https://aleo.org/post/introducing-shield-the-private-crypto-wallet/",
        "label": "Introducing Shield: the private crypto wallet from Provable and Aleo"
      },
      {
        "url": "https://aleo.org/shield/",
        "label": "Shield Wallet - Private Transactions, Private Stablecoins - Aleo"
      }
    ]
  },
  {
    "id": "2026-03-14-project-of-the-week-build-a-browser-first-private-transfer-app-with-create-leo-a",
    "url": "https://aleoforagents.com/blog/2026-03-14-project-of-the-week-build-a-browser-first-private-transfer-app-with-create-leo-a",
    "markdownUrl": "https://aleoforagents.com/blog/2026-03-14-project-of-the-week-build-a-browser-first-private-transfer-app-with-create-leo-a.md",
    "title": "Project of the Week: Build a Browser-First Private Transfer App with create-leo-app",
    "type": "blog",
    "status": "shipped",
    "lastUpdated": "2026-03-14",
    "date": "2026-03-14",
    "description": "Learn how to build a private Aleo web app using create-leo-app and the Provable SDK. We cover explicit multithreaded WASM initialization with initThreadPool and",
    "summary": "Learn how to build a private Aleo web app using create-leo-app and the Provable SDK. We cover explicit multithreaded WASM initialization with initThreadPool and scaffold a minimal private transfer flow.",
    "tags": [
      "project-tutorial",
      "sdk",
      "create-leo-app",
      "private-transfers",
      "web-app"
    ],
    "sources": [
      {
        "url": "https://developer.aleo.org/sdk/guides/managing_state",
        "label": "Managing State - Aleo Developer Documentation"
      },
      {
        "url": "https://developer.aleo.org/sdk/guides/transfer_credits/",
        "label": "Transferring Credits - Aleo Developer Documentation"
      },
      {
        "url": "https://developer.aleo.org/sdk/guides/getting_started/",
        "label": "Getting Started - Aleo Developer Documentation"
      },
      {
        "url": "https://x.com/AleoHQ/status/2031856872953954779",
        "label": "AleoHQ Developer Office Hours"
      }
    ]
  },
  {
    "id": "2026-03-12-aleo-this-week-leo-3-5-snarkos-4-5-and-the-rise-of-private-stablecoins",
    "url": "https://aleoforagents.com/blog/2026-03-12-aleo-this-week-leo-3-5-snarkos-4-5-and-the-rise-of-private-stablecoins",
    "markdownUrl": "https://aleoforagents.com/blog/2026-03-12-aleo-this-week-leo-3-5-snarkos-4-5-and-the-rise-of-private-stablecoins.md",
    "title": "Aleo This Week: Leo 3.5, snarkOS 4.5, and the Rise of Private Stablecoins",
    "type": "blog",
    "status": "shipped",
    "lastUpdated": "2026-03-12",
    "date": "2026-03-12",
    "description": "Leo v3.5.0 introduces on-chain ZK proof verification through the snark.verify intrinsic. The network layer sees major stability improvements in snarkOS v4.5.2, ",
    "summary": "Leo v3.5.0 introduces on-chain ZK proof verification through the snark.verify intrinsic. The network layer sees major stability improvements in snarkOS v4.5.2, while the SDK adds memory-safe key zeroization. Paxos Labs and Circle have officially deployed private stablecoins to the Aleo mainnet.",
    "tags": [
      "weekly-digest",
      "leo",
      "snarkos",
      "snarkvm",
      "sdk",
      "stablecoins",
      "consensus-v14",
      "snark-verify",
      "ecosystem"
    ],
    "sources": [
      {
        "url": "https://aleo.org/post/paxos-labs-and-anf-launch-usad-private-stablecoin/",
        "label": "Paxos and Aleo Introduce USAD Stablecoin"
      },
      {
        "url": "https://coinmarketcap.com/academy/article/circle-launches-privacy-focused-usdc-stablecoin-on-aleo",
        "label": "Circle Launches Privacy-Focused USDC Stablecoin on Aleo"
      }
    ]
  },
  {
    "id": "2026-03-12-deep-dive-why-aleo-needs-the-token-registry-before-dynamic-dispatch",
    "url": "https://aleoforagents.com/blog/2026-03-12-deep-dive-why-aleo-needs-the-token-registry-before-dynamic-dispatch",
    "markdownUrl": "https://aleoforagents.com/blog/2026-03-12-deep-dive-why-aleo-needs-the-token-registry-before-dynamic-dispatch.md",
    "title": "Deep Dive: Why Aleo Needs the Token Registry Before Dynamic Dispatch",
    "type": "blog",
    "status": "shipped",
    "lastUpdated": "2026-03-12",
    "date": "2026-03-12",
    "description": "Aleo multi-token apps still route through the Token Registry because programs cannot yet call arbitrary token programs chosen at runtime. The registry fixes tha",
    "summary": "Aleo multi-token apps still route through the Token Registry because programs cannot yet call arbitrary token programs chosen at runtime. The registry fixes that by standardizing balances around a shared token_id and record shape, so new assets can plug into existing DeFi without redeploying every app.",
    "tags": [
      "deep-dive",
      "architecture",
      "composability",
      "token-registry",
      "dynamic-dispatch",
      "arc-20"
    ],
    "sources": [
      {
        "url": "https://developer.aleo.org/guides/standards/token_registry/",
        "label": "Aleo Developer Documentation - Token Registry Program"
      },
      {
        "url": "https://developer.aleo.org/guides/solidity-to-leo/token-standard-difference",
        "label": "Aleo Developer Documentation - Token Standard Differences"
      },
      {
        "url": "https://developer.aleo.org/guides/sdk/typescript/overview/",
        "label": "Aleo Developer Documentation - Javascript/Typescript SDK Overview"
      },
      {
        "url": "https://github.com/ProvableHQ/sdk",
        "label": "ProvableHQ SDK Repository"
      },
      {
        "url": "https://github.com/ProvableHQ/snarkVM/releases",
        "label": "ProvableHQ snarkVM Releases"
      }
    ]
  },
  {
    "id": "2026-03-12-project-of-the-week-build-a-quota-ledger-on-aleo-with-leo-devnode",
    "url": "https://aleoforagents.com/blog/2026-03-12-project-of-the-week-build-a-quota-ledger-on-aleo-with-leo-devnode",
    "markdownUrl": "https://aleoforagents.com/blog/2026-03-12-project-of-the-week-build-a-quota-ledger-on-aleo-with-leo-devnode.md",
    "title": "Project of the Week: Build a Quota Ledger on Aleo with leo devnode",
    "type": "blog",
    "status": "shipped",
    "lastUpdated": "2026-03-12",
    "date": "2026-03-12",
    "description": "Learn how to bypass devnet friction using leo devnode and the --skip-execution-proof flag. We build a stateful Quota Ledger using modern fn syntax, inline final",
    "summary": "Learn how to bypass devnet friction using leo devnode and the --skip-execution-proof flag. We build a stateful Quota Ledger using modern fn syntax, inline final blocks, and a constructor.",
    "tags": [
      "aleo",
      "leo",
      "devnode",
      "testing",
      "mappings"
    ],
    "sources": [
      {
        "url": "https://provable.com/blog/announcing-aleo-stack-v4-5-0",
        "label": "Announcing Aleo Stack v4.5.0 - Provable"
      }
    ]
  }
]