When an exchange deposit sent through a smart contract is not credited, check two separate things: whether the intended asset actually reached the deposit destination, and whether that exchange supports the transfer method for that asset and network. A successful parent transaction establishes neither result by itself. Do not resend the deposit or pay an unsolicited recovery contact while those checks remain unresolved.
Four meanings of contract that lead to different investigations
A token contract identifies an asset. A smart wallet or sending contract can execute the payment. The transaction’s top-level destination may be a router or other application contract. The receiving service can also have its own deposit-address design. Those are different roles. Saying ‘the deposit involved a contract’ without identifying which role is involved gives support too little information to diagnose the problem.
ERC-20 tokens are themselves implemented through contracts, as explained by the Ethereum token standard. A warning about an unsupported contract-origin deposit should not be interpreted as saying that every ERC-20 transfer is unsupported. Equally, accepting a token on a network does not automatically establish support for every smart-wallet or contract-mediated path that can deliver it.
Start by copying the exact wording from the current deposit instructions. Does it concern the asset, the network, the sending method or an obsolete receiving address? Keep those questions separate. A restriction about the destination cannot be resolved by proving the sender used an ordinary wallet, and a sending-method restriction cannot be dismissed just because the destination address was correct.
Prove the relevant movement before asking for manual credit
Find the transaction on the network selected for the deposit. Verify the intended asset identifier, actual recipient and delivered amount in the records appropriate to that asset. Native-coin movement during execution and token-transfer records are not interchangeable. A successful router call with zero top-level native value can still require investigation of token records; an event showing another token does not prove delivery of the accepted asset.
Etherscan’s successful-but-missing-funds explanation notes that contract-origin movement can appear in a different view and that an exchange’s detection can require attention. The article is an explanation of that distinction, not proof of a current universal exchange policy. Its broad statements about success should not replace checking the relevant execution result and the actual receiving destination.
| Checkpoint | Evidence to collect | What it answers | Question still left for the service |
|---|---|---|---|
| Asset and network | Token identifier or native asset, plus chain | Which funds are being claimed | Is this exact asset on this chain accepted? |
| Actual recipient | Relevant transfer record, not only the outer To field | Whether the order’s destination received the movement | Does that address and any required identifier belong to this deposit? |
| Final execution | Parent result and relevant action outcome | Whether this was a completed movement rather than an unsuccessful attempt | Have the current confirmation requirements been met? |
| Transfer method | Smart-wallet, bridge or contract-origin context | How the movement was produced | Is this method credited automatically, reviewed manually or unsupported? |
| Deposit allocation | Account or order reference and service history | Whether a chain receipt was assigned internally | What further evidence or supported action is required? |
| Recovery proposal | Written answer through the genuine support case | What the service actually offers | What costs, destination, conditions and limitations apply? |
If the evidence does not show delivery to the service’s destination, describe that accurately. A pending bridge leg, wrong recipient or failed subcall is not the same as an exchange failing to detect received funds. Return to the sending application’s status and records for that branch. Do not ask an exchange to credit a deposit solely because an earlier stage of a multistep operation succeeded.
Support can differ by chain and by transfer method
Cobo’s contract-based internal-transaction guide explicitly distinguishes automatic handling on Ethereum from contract-triggered deposits on other chains. It is a concrete example of chain-dependent detection at one service. It is not a guarantee of recovery elsewhere, and the guide’s particular recovery charge should not be copied into another exchange’s case as an expected tariff.
The current Bybit deposit FAQ directs users to the supported chain and transfer-method remarks, warning that unsupported methods may not be credited or returned. The practical lesson is to inspect the instructions for the exact receiving account. Do not rely on a search-result summary or an old screenshot when the deposit page provides different current requirements.
Avoid two unsupported conclusions: that every contract-origin transfer is lost, or that correct on-chain delivery guarantees a manual credit. The receiving service must assess its own systems and the specific record. If it offers a review, ask what the review establishes and what outcomes are possible. Do not turn the mere existence of an asset-recovery form into a promise of a successful return.
An old contract receiving address is a different problem
Kraken’s Unified EVM deposit-method transition guide discusses expired Smart Contract deposit methods and using current receiving addresses. That is a receiving-method migration, not a general statement that Kraken rejects every payment sent by a smart contract. Its historical migration deadline should not be presented as a new event merely because the help page was updated recently.
Check the address you actually used against the current address displayed for your own deposit. If an obsolete destination is involved, tell support that explicitly. Repeating the transfer to the saved address cannot make it current. Likewise, sending another deposit to a different address does not resolve ownership or allocation of the first. Keep the original evidence attached to its own case.
Prepare a case that identifies the movement without exposing the wallet
- Record the exchange account or swap order reference through a private channel, along with the actual deposit instructions you followed.
- Supply the network, parent transaction hash, exact asset identifier and deposit destination.
- Identify the relevant recipient movement and amount within the transaction. Add an explorer reference or narrowly relevant screenshot if needed.
- Describe the source accurately: an ordinary wallet, smart wallet, contract withdrawal or a particular application flow, without guessing its internals.
- Ask whether the transfer method is supported and whether the case needs manual allocation, recovery assessment or investigation by the sending application.
- Review any written recovery conditions and verify the official support route before authorizing a new action or cost.
For example, a fictional customer, Niko, withdrew from a contract-based wallet and sees Success on the outer transaction. His first useful step is to identify the movement to the exchange deposit destination, not to pay again from an ordinary wallet. If the service confirms receipt but requests review, he can supply the exact evidence. If no such movement exists, the investigation belongs with the sending application instead.
Never provide a recovery phrase or private key so that someone can ‘activate internal transfers.’ A legitimate case may require documentation and have stated costs, but an unsolicited contact’s demand is not the service’s decision. Use the genuine account or order support channel. Confirm what will be returned, to which network and destination, without assuming a contract’s sending address is a refund address you control.
Before a future deposit, check asset, chain and transfer method together. The ERC-20 receipt guide helps read token movements, and the ETH page provides asset context. For a no-account swap, review that specific order’s supported conditions rather than importing another exchange’s contract-deposit policy. Extra confirmations cannot resolve a transfer method the receiving service does not accept.
FAQ
Can a crypto deposit be not received because it came from a contract?
Some services distinguish supported transfer methods as well as assets and networks. First prove delivery to the correct destination, then ask how that service handles the actual method used.
Does an Ethereum internal transaction automatically become an exchange deposit?
An execution record and the service’s internal deposit allocation are separate things. The receiving platform must support or assess that exact deposit method and record.
Does an internal transfer have a second transaction hash?
Identify the parent hash and the relevant movement inside it rather than inventing a second signed-transaction hash. Give support the network, recipient and asset context needed to locate that movement.
Related on KOT.CASH
Sources
- ethereum.org/developers/docs/standards/tokens/erc-20/
- info.etherscan.com/transaction-marked-success-but-i-cant-see-my-funds-why/
- help-center.cobo.com/en/articles/11715045-why-was-my-deposit-marked-as-a-contract-based-internal-transaction
- www.bybit.com/en/help-center/article/Bybit-Deposit-FAQ
- support.kraken.com/articles/how-to-transition-to-unified-evm-deposit-methods-technical-overview-for-api-users