Kaikas Provider NFT 전송 질문

안녕하세요.

테스트넷 환경에서 Kaikas API 중 Klaytn Provider 를 사용해서 Kaikas 확장프로그램을 통해 NFT 전송하는 걸 만들려고 하는데 혹시 참고할 문서를 알 수 있을까요? 그리고 몇 가지 예시를 찾아보고 아래 코드를 사용해 보려고 하는데 Kaikas - RPC Error: Error: Transaction from address isn’t valid for this account 라는 오류가 나옵니다.
위 오류가 일반적으로 사용자의 지갑 주소가 올바르지 않거나 Kaikas 웹 지갑이 서명에 사용되는 주소와 서버에 전송된 주소가 다른 경우 발생할 수 있다고는 하는데 지갑 주소는 클립보드로 복붙 한거라 오류나는 원인을 알 수 없더라구요. 제가 잘못 사용하고 있는건지 알려주시면 감사하겠습니다!

async function signAndSendTransaction() {
const serverUrl = ‘server url’;
// Kaikas 웹 지갑을 사용하기 위해 KlaytnProvider를 생성합니다.
const provider = window.klaytn ? window.klaytn : window.Kaikas;

if (!provider || !provider.isKaikas) {
    alert('Kaikas 웹 지갑이 설치되어 있지 않습니다.');
    return;
}

try {
    // 넘겨줄 데이터(토큰 전송 데이터 등)를 JSON 형식으로 작성합니다.
    const data = {
        from: '보내는 지갑 주소'.toLowerCase(),
        to: '받는 지갑 주소'.toLowerCase(),
        tokenId: 109 // 전송할 NFT의 토큰 ID
    };
    console.log(data);

    // Kaikas 웹 지갑으로 사용자가 트랜잭션을 서명합니다.
    const { transactionHash } = await provider.request({
        method: 'klay_sendTransaction',
        params: {
            type: 'FEE_DELEGATED_SMART_CONTRACT_EXECUTION',
            from: '보내는 지갑 주소'.toLowerCase(),
            to: 'NFT 컨트랙트 주소'.toLowerCase(),
            data: JSON.stringify(data), // JSON 형태의 데이터를 문자열로 변환하여 넘겨줍니다.
            gas: 600000,
            value: 0,
        },
    });
    console.log(transactionHash);

    // 서명된 트랜잭션을 서버로 전송합니다.
    const response = await fetch(serverUrl, {
        method: 'POST',
        headers: { 'Content-Type': 'application/json' },
        body: JSON.stringify({ transactionHash }),
    });

    const result = await response.json();
    console.log(result);
    // 처리 결과를 처리합니다.
} catch (error) {
    console.error(error);
}

}

안녕하세요, 먼저 참고하신 자료들 링크를 공유해주시면 답변드리는데 도움이 될 것 같습니다.

NFT전송을 위해서는 해당 NFT를 관리하는 SmartContract와 상호작용하는 방법을 먼저 익히셔야합니다.
아래 링크를 참고하셔서 한번 따라해 보시고 추가적인 질문을 해주시면 좋을 것 같습니다.