# Non custodial NFT Marketplace

**URL:** <https://forum.fuel.network/t/non-custodial-nft-marketplace/6645>\
**Category:** General\
**Created:** [September 20, 2024, 9:38am UTC](https://forum.fuel.network/t/non-custodial-nft-marketplace/6645 "2024-09-20T09:38:20Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![DevilAsap](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.fuel.network/devilasap/32/3588_2.png) [@DevilAsap](https://forum.fuel.network/u/DevilAsap)\
**Post date:** [September 20, 2024, 9:38am UTC](https://forum.fuel.network/t/non-custodial-nft-marketplace/6645/1 "2024-09-20T09:38:20Z")

</div>

Hello everyone,

I’m a bit confused about how to build a non-custodial NFT marketplace on the Fuel blockchain. I reviewed the documentation, and it seems there is no `transferFrom` function or `approval` support in Fuel. Given this, how is it possible to create a non-custodial marketplace?

I also checked the Thunder Marketplace repository on GitHub, but it doesn’t appear to be non-custodial.

---

<div class="post-metadata">

**Author:** ![rishabhkeshan](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.fuel.network/rishabhkeshan/32/3346_2.png) [@rishabhkeshan](https://forum.fuel.network/u/rishabhkeshan)\
**Post date:** [September 20, 2024, 10:46am UTC](https://forum.fuel.network/t/non-custodial-nft-marketplace/6645/2 "2024-09-20T10:46:07Z")

</div>

Hey @DevilAsap all assets on Fuel are treated as native assets and it is indeed possible to have a non-custodial marketplace

Could you specify more on what are you exactly looking for?

Also you can check out [Props-SDK](https://github.com/Props-Labs/props-fuels) as well, an ecosystem partner for reference

---

<div class="post-metadata">

**Author:** ![DevilAsap](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.fuel.network/devilasap/32/3588_2.png) [@DevilAsap](https://forum.fuel.network/u/DevilAsap)\
**Post date:** [September 20, 2024, 11:38am UTC](https://forum.fuel.network/t/non-custodial-nft-marketplace/6645/3 "2024-09-20T11:38:56Z")

</div>

How can I transfer an asset on behalf of another user from within a contract? The `transfer` function in Sway only allows transferring assets from the contract to a recipient, but not from one user to another without the contract taking ownership of the asset first. How can this be achieved?

---

<div class="post-metadata">

**Author:** ![rishabhkeshan](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.fuel.network/rishabhkeshan/32/3346_2.png) [@rishabhkeshan](https://forum.fuel.network/u/rishabhkeshan)\
**Post date:** [September 23, 2024, 6:45am UTC](https://forum.fuel.network/t/non-custodial-nft-marketplace/6645/4 "2024-09-23T06:45:39Z")

</div>

Hey @DevilAsap could you have a look at the documentation [here](https://docs.fuel.network/docs/fuels-ts/wallets/wallet-transferring/) and let me know if this is helpful?

---

<div class="post-metadata">

**Author:** ![DevilAsap](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.fuel.network/devilasap/32/3588_2.png) [@DevilAsap](https://forum.fuel.network/u/DevilAsap)\
**Post date:** [September 24, 2024, 9:54am UTC](https://forum.fuel.network/t/non-custodial-nft-marketplace/6645/5 "2024-09-24T09:54:09Z")

</div>

Hello,

I’ve reviewed the documentation and found methods for wallet-to-wallet or wallet-to-contract transfers using the Typescript SDK. However, I’m looking to transfer assets between two wallets via a smart contract, similar to the “transferFrom” and “approval” mechanisms in EVM blockchains.

For example, in my marketplace contract, I’d like to transfer an NFT directly from the seller to the buyer without taking custody of the NFT. Could you guide me on how to implement this?

Thank you for your help!
