> For the complete documentation index, see [llms.txt](https://developers.term.finance/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developers.term.finance/term-finance-protocol/term-repo/term-servicer-group.md).

# 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>
