# Unable to release or send coins from contract — missing mt\_index / QualifiedCoinInfo after receive() - jeyem7843

**URL:** <https://forum.midnight.network/t/unable-to-release-or-send-coins-from-contract-missing-mt-index-qualifiedcoininfo-after-receive-jeyem7843/563>\
**Category:** Technical Questions\
**Created:** [October 27, 2025, 10:00am UTC](https://forum.midnight.network/t/unable-to-release-or-send-coins-from-contract-missing-mt-index-qualifiedcoininfo-after-receive-jeyem7843/563 "2025-10-27T10:00:18Z")\
**Posts on this page:** 1\
**Showing post:** 3

<div class="post-metadata">

**Author:** ![bochaco](https://yyz2.discourse-cdn.com/flex010/user_avatar/forum.midnight.network/bochaco/32/112_2.png) [@bochaco](https://forum.midnight.network/u/bochaco)\
**Post date:** [October 27, 2025, 3:35pm UTC](https://forum.midnight.network/t/unable-to-release-or-send-coins-from-contract-missing-mt-index-qualifiedcoininfo-after-receive-jeyem7843/563/3 "2025-10-27T15:35:29Z")

</div>

> [@I’m developing an escrow-style contract that needs to both receive and later release coins using the documented methods](https://forum.midnight.network/t/i-m-developing-an-escrow-style-contract-that-needs-to-both-receive-and-later-release-coins-using-the-documented-methods/562/2):
>
> If I understand your doubt correctly, I believe you are referring to something like the following for deposits: // Contract's own treasury of native tokens. export ledger treasury: QualifiedCoinInfo; export circuit depositFunds(coinInfo: CoinInfo): [] { assert(coinInfo.color == nativeToken(), "Only native tokens can be deposited"); receive(disclose(coinInfo)); const me = right\<ZswapCoinPublicKey, ContractAddress\>(kernel.self()); treasury.writeCoin(disclose(coinInfo), me); return []; …

---

_[View the full topic](https://forum.midnight.network/t/unable-to-release-or-send-coins-from-contract-missing-mt-index-qualifiedcoininfo-after-receive-jeyem7843/563)._
