# Term Servicer Group

The Term Servicer group of contracts maintain records, enforce the terms of a Term Repo arrangement and automate the settlement and collateral management functions handled by the collateral agent in the traditional tri-party repo context. Each Term Repo arrangement requires the deployment of every single contract within this group and the relationship between each contract within this group is always 1:1.

{% content-ref url="/pages/Wa1XTSMZ3ZSJF3WUpAgv" %}
[Initialization Parameters](/term-finance-protocol/term-repo/term-servicer-group/initialization-parameters.md)
{% endcontent-ref %}

{% content-ref url="/pages/N0vsGkcOaMCtWv7AqgTJ" %}
[Administrative Functions](/term-finance-protocol/term-repo/term-servicer-group/administrative-functions.md)
{% endcontent-ref %}

<table><thead><tr><th width="352.3333333333333">Contract</th><th>Description and Key External Functions</th></tr></thead><tbody><tr><td><a href="https://github.com/term-finance/term-finance-contracts/blob/main/contracts/TermRepoCollateralManager.sol"><mark style="color:yellow;"><code>TermRepoCollateralManager.sol</code></mark></a></td><td><mark style="color:yellow;">Enforces margin maintenance rules for adding/withdrawing, repurchasing and liquidating collateral</mark></td></tr><tr><td></td><td><a href="/pages/EaSr1h4QU2o56l5QQ36i#externallockcollateral"><code>externalLockCollateral</code></a> - callable by borrower to add to their collateral balance</td></tr><tr><td></td><td><a href="/pages/f5gfpY7Rzfi7d9GnbdUC#externalunlockcollateral"><code>externalUnlockCollateral</code></a> - callable by borrower to withdraw excess collateral balance</td></tr><tr><td></td><td><a href="/pages/f5gfpY7Rzfi7d9GnbdUC#batchliquidation"><code>batchLiquidation</code></a> - callable by public to liquidate one or more collateral tokens belonging to a borrower in margin deficit</td></tr><tr><td></td><td><a href="/pages/f5gfpY7Rzfi7d9GnbdUC#batchliquidationwithrepotoken"><code>batchLiquidationWithRepoToken</code> </a>- callable by public to liquidate one or more collateral tokens belonging to a borrower in margin deficit using Repo Tokens in lieu of purchase token to pay down repo exposure</td></tr><tr><td></td><td><a href="/pages/f5gfpY7Rzfi7d9GnbdUC#batchdefault"><code>batchDefault</code></a>- callable by public to liquidate one or more collateral tokens belonging to a borrower in default due to a failure to repurchase</td></tr><tr><td><a href="https://github.com/term-finance/term-finance-contracts/blob/main/contracts/TermRepoServicer.sol"><mark style="color:yellow;"><code>TermRepoServicer.sol</code></mark></a></td><td><mark style="color:yellow;">Maintains records, collects and disburse repurchase payments</mark></td></tr><tr><td></td><td><a href="/pages/qNZPOZMNpnEsbNfaGNbS#submitrepurchasepayment"><code>submitRepurchasePayment</code></a> - callable by borrower to submit repurchase payment</td></tr><tr><td></td><td><a href="/pages/qNZPOZMNpnEsbNfaGNbS#redeemtermrepotokens"><code>redeemTermRepoTokens</code></a> - callable by liquidity supplier to receive repurchase payment</td></tr><tr><td><pre class="language-solidity"><code class="lang-solidity">SPECIALIST_ROLE
</code></pre></td><td><a href="/pages/qNZPOZMNpnEsbNfaGNbS#mintopenexposure"><code>mintOpenExposure</code></a> - callable by users with <code>SPECIALIST_ROLE</code> to mint Term Repo Tokens and open offsetting repurchase obligation exposure (subject to servicing fee and mint cap) by depositing collateral</td></tr><tr><td></td><td><a href="/pages/qNZPOZMNpnEsbNfaGNbS#burncollapseexposure"><code>burnCollapseExposure</code></a> - callable by borrower to burn Term Repo Tokens against outstanding repurchase obligations</td></tr><tr><td><a href="https://github.com/term-finance/term-finance-contracts/blob/main/contracts/TermRepoRolloverManager.sol"><mark style="color:yellow;"><code>TermRepoRolloverManager.sol</code></mark></a></td><td><mark style="color:yellow;">Accepts and carries out borrower rollover instructions</mark></td></tr><tr><td></td><td><a href="/pages/1zK41UqAf4vMD8H2oyFo#electrollover"><code>electRollover</code></a> - callable by borrower to elect to rollover or extend into a new Term Repo using collateral from existing Term Repo</td></tr><tr><td></td><td><a href="/pages/1zK41UqAf4vMD8H2oyFo#cancelrollover"><code>cancelRollover</code></a>- callable by borrower to cancel a rollover election</td></tr><tr><td><a href="https://github.com/term-finance/term-finance-contracts/blob/main/contracts/TermRepoLocker.sol"><mark style="color:yellow;"><code>TermRepoLocker.sol</code></mark></a></td><td><mark style="color:yellow;">Contract in which Term Servicer locks collateral and purchase tokens</mark></td></tr><tr><td></td><td><code>&#x3C;no public functions></code></td></tr></tbody></table>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developers.term.finance/term-finance-protocol/term-repo/term-servicer-group.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
