> ## Documentation Index
> Fetch the complete documentation index at: https://developers.stellar.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Deploy the Stellar Asset Contract for a Stellar asset

> Deploy an SAC for a Stellar asset so that it can interact with smart contracts

The Stellar CLI can deploy a [Stellar Asset Contract] for a Stellar asset so that any Stellar smart contract can interact with the asset.

Every Stellar asset has reserved a contract that anyone can deploy. Once deployed any contract can interact with that asset by holding a balance of the asset, receiving the asset, or sending the asset.

Deploying the Stellar Asset Contract for a Stellar asset enables that asset for use in smart contracts.

The Stellar Asset Contract can be deployed for any possible Stellar asset, either assets already in use on Stellar or assets that have never seen any activity. This means that the issuer doesn't need to have been created, and no one needs to be yet holding the asset on Stellar.

To perform the deploy, use the following command:

```bash cookbooktest.ignore theme={"theme":{"light":"github-light","dark":"github-dark"}}
stellar contract asset deploy \
    --source S... \
    --network testnet \
    --asset USDC:GCYEIQEWOCTTSA72VPZ6LYIZIK4W4KNGJR72UADIXUXG45VDFRVCQTYE
```

The `asset` argument corresponds to the symbol and it's issuer address, which is how assets are identified on Stellar.

The same can be done for the native [Lumens] asset:

```bash cookbooktest.fail cookbooktest.stderr="contract already exists" theme={"theme":{"light":"github-light","dark":"github-dark"}}
stellar contract asset deploy \
    --source S... \
    --network testnet \
    --asset native
```

> [!NOTE]
>
> Deploying the native asset will fail on testnet or mainnet as a Stellar Asset Contract already exists.

For any asset, the contract address can be fetched with:

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
stellar contract id asset \
    --network testnet \
    --asset native
```

[stellar asset contract]: https://developers.stellar.org/docs/tokens/stellar-asset-contract.md

[lumens]: https://developers.stellar.org/docs/learn/fundamentals/lumens.md

[sep-41]: https://github.com/stellar/stellar-protocol/blob/master/ecosystem/sep-0041.md

[`soroban_sdk::token`]: https://docs.rs/soroban-sdk/latest/soroban_sdk/token/

[`token::tokenclient`]: https://docs.rs/soroban-sdk/latest/soroban_sdk/token/struct.TokenClient.html

[`token::stellarassetclient`]: https://docs.rs/soroban-sdk/latest/soroban_sdk/token/struct.StellarAssetClient.html
