# Staking

The IDRX Staking Contract allows users to stake their IDRX stablecoins and earn rewards over a specified duration. This documentation outlines the available stake types, contract functions, and emitted events for seamless integration

{% content-ref url="staking/staking-type" %}
[staking-type](https://docs.idrx.co/smart-contract/staking/staking-type)
{% endcontent-ref %}

{% content-ref url="staking/staking-idrx" %}
[staking-idrx](https://docs.idrx.co/smart-contract/staking/staking-idrx)
{% endcontent-ref %}

{% content-ref url="staking/claim-staking-reward" %}
[claim-staking-reward](https://docs.idrx.co/smart-contract/staking/claim-staking-reward)
{% endcontent-ref %}

{% content-ref url="staking/unbond-staked-idrx" %}
[unbond-staked-idrx](https://docs.idrx.co/smart-contract/staking/unbond-staked-idrx)
{% endcontent-ref %}

{% content-ref url="staking/claim-principal-and-staking-rewards" %}
[claim-principal-and-staking-rewards](https://docs.idrx.co/smart-contract/staking/claim-principal-and-staking-rewards)
{% endcontent-ref %}

{% content-ref url="staking/application-binary-interface" %}
[application-binary-interface](https://docs.idrx.co/smart-contract/staking/application-binary-interface)
{% endcontent-ref %}
