MandateExecution event from the MandateRegistry contract at the moment of execution. These events are part of the canonical chain state — immutable, permissionlessly queryable, and independent of Synclear’s own infrastructure. They constitute the authoritative record of what every agent did, when, under which mandate, and with what effect on protocol positions.
The audit trail is not a reporting feature layered on top of agent execution. It is a direct output of the execution mechanism itself: if an agent transaction occurred, a MandateExecution event exists. If no event exists for a claimed transaction, the transaction did not occur under a valid mandate.
Event Structure
TheMandateExecution event carries a standardized set of fields designed to support financial reconciliation without requiring additional off-chain context:
agentAddress— the executing party (agent)mandateId— the authorization under which the action was takenactionType— the economic nature of the transactionasset+amount— the instrument and notional valuetimestamp— the block-level timestamp of executionpositionId+positionDelta— the resulting change in on-chain positionsexecutionStatus— whether the action completed fully, partially, or with a post-execution warning
Querying the Audit Trail
On-Chain Event Queries
Principals, auditors, and agents themselves can query the full event history directly from a node using standard event filter patterns:ethers.js EventLog object with a args property containing the decoded event fields. No Synclear API key or authentication is required to perform these queries — they run directly against any archive node with access to the contract’s deployment block.
Synclear Audit API
For higher-level queries — filtered by date range, action type, asset, or position — the Synclear Audit API provides a REST interface over the indexed event data:MandateExecution event fields plus enriched metadata: human-readable asset symbols, USD-equivalent amounts at execution time (sourced from the on-chain price oracle), and resolved mandate labels if set by the principal.
Using the Audit Trail
- Compliance Reporting
- Reconciliation
- Agent Monitoring
- Dispute Resolution
Compliance teams can reconstruct a complete agent activity history for any time period by querying the
MandateExecution event log. Because events include both the mandate ID and the action type, it is straightforward to verify that every agent action was within the scope of an active mandate at the time of execution.The event log supports the following common compliance reporting needs:- Transaction-level activity reports — all agent transactions within a reporting period, with notional amounts and timestamps
- Mandate adherence verification — confirmation that all activity was authorized by a valid, active mandate
- Position change reconstruction — rebuilding the sequence of position modifications from
positionDeltafields - Counterparty and asset exposure summaries — aggregations of volume by asset and action type
Data Retention and Archival
On-chain event data is retained permanently as part of the blockchain’s canonical state and is accessible from any archive node indefinitely. Synclear’s indexed API layer maintains a queryable index of all
MandateExecution events from the contract’s deployment block forward. For events older than 12 months, the API may route queries to a cold-storage archive tier with response times up to 30 seconds for large result sets. Direct on-chain queries via queryFilter are not subject to any retention policy and will always return the complete historical record, provided the querying node is a full archive node.MandateExecution events by running an event indexer against the contract. Synclear provides a reference indexer implementation and schema for common database backends in the developer resources section.