# ITransactionAgent

Package: [Microsoft.Orleans.Transactions](/orleans/docs/api/csharp/microsoft.orleans.transactions/) 10.0.0

[NuGet package](https://www.nuget.org/packages/Microsoft.Orleans.Transactions) | [Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Transactions/ITransactionAgent.cs#L14)

```csharp
public interface ITransactionAgent
```

The Transaction Agent it is used by the silo and activations to interact with the transactions system.

## Remarks

There is one Transaction Agent per silo. TODO: does this belong in Runtime instead?

## Methods

- [Abort(TransactionInfo)](/orleans/docs/api/csharp/microsoft.orleans.transactions/orleans.transactions.itransactionagent/methods/abort-orleans-transactions-transactioninfo-d1f63fe4/)
- [Resolve(TransactionInfo)](/orleans/docs/api/csharp/microsoft.orleans.transactions/orleans.transactions.itransactionagent/methods/resolve-orleans-transactions-transactioninfo-14e99aca/)
- [StartTransaction(bool, TimeSpan)](/orleans/docs/api/csharp/microsoft.orleans.transactions/orleans.transactions.itransactionagent/methods/starttransaction-bool-system-timespan-4a0b4a2c/)
