Skip to content

Feature: Cryptographic receipts for agent tool execution (AAR)Β #2071

@Cyberweasel777

Description

@Cyberweasel777

Problem

smolagents executes tools on behalf of users β€” code execution, web search, API calls. Each tool run produces a result but no cryptographic proof that the tool actually ran with those specific inputs and produced that specific output.

For multi-agent systems, enterprise deployments, and agent commerce, verifiable action provenance is becoming a requirement.

Proposal

Integrate Agent Action Receipts (AAR) into the tool execution pipeline:

# Conceptual: receipt-aware tool execution
class VerifiableTool(Tool):
    def forward(self, *args, **kwargs):
        result = super().forward(*args, **kwargs)
        receipt = create_receipt(
            agent_id=self.agent.name,
            action={'tool': self.name, 'args_hash': sha256(str(args))},
            output_hash=sha256(str(result)),
        )
        return result, receipt

Each agent run produces a receipt chain β€” verifiable by any party with the agent's public key.

What AAR provides

  • Ed25519 signatures over canonicalized JSON per action
  • SHA-256 input/output hashing (verifiable without exposing raw data)
  • Receipt chaining across multi-step tool use
  • Compatible with Mastercard Verifiable Intent and x402 (Coinbase)

SDK

TypeScript: npm install botindex-aar (live, MIT)
Python: in development

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions