I know using BTCRelay provides a way of checking whether the funds are in the BTC address. However, I can't find anything about smart contracts sending and receiving BTC.
Ethereum smart contracts are, well, inside Ethereum. They can't handle any other native asset than Ether.
There are random projects to tokenize various cryptoassets (BTC for example) in Ethereum tokens but the process is never trivial. Basically it requires bridges and some trusted entities and is therefore not very compatible with the decentralized nature of Ethereum.
What basically needs to be done is:
1) A smart contract which has a ledger of "BTC token" holders
2) Whenever someone sends BTC in BTC blockchain to certain address it gets locked there and these "BTC tokens" are minted in the Ethereum contract for the BTC owner. The owner can then utilize these tokens inside the Ethereum blockchain in some fashion.
3) Whenever someone wants his BTC back he deposits his tokens back to the contract which burns them and sends his real BTCs back to the owner in BTC blockchain