# Smart Contracts

The composition:

Easier explanation on actual implementation

{% hint style="info" %}

#### Upgraded DegenV2

Modular function to call. Here will be merged the OG degens, Miami and NYC. This collection will interact with the components. These NFTs will be disassembled into components, assembling components will result in a StacksDegen and swapping is done using a component from any collection and one StacksDegen.

<https://explorer.stacks.co/txid/ST2FSGYVG0T3Z7XSSTNVY89D80V31PVFEMPZBK6N2.degens?chain=testnet>
{% endhint %}

{% hint style="info" %}

#### **Components**

Each component is an NFT smart contract. All have the same structure. Will take directly the background smart contract.

**Deployment on testnet**&#x20;

<https://explorer.stacks.co/txid/ST2FSGYVG0T3Z7XSSTNVY89D80V31PVFEMPZBK6N2.backgrounds?chain=testnet>

<https://explorer.stacks.co/txid/ST2FSGYVG0T3Z7XSSTNVY89D80V31PVFEMPZBK6N2.heads?chain=testnet>

<https://explorer.stacks.co/txid/ST2FSGYVG0T3Z7XSSTNVY89D80V31PVFEMPZBK6N2.cars?chain=testnet>

<https://explorer.stacks.co/txid/ST2FSGYVG0T3Z7XSSTNVY89D80V31PVFEMPZBK6N2.rims?chain=testnet>
{% endhint %}

{% hint style="info" %}

#### **NFT Customization Wrapper**

This is the wrapper over all of the components. It keeps track of every action done and what should be done next. If user burns Stacks Degens NFT for `disassemble`, it will keep track of that in a queue and let the admin know it has to mint the respective components in exchange.

**Deployment on testnet**&#x20;

<https://explorer.stacks.co/txid/ST2FSGYVG0T3Z7XSSTNVY89D80V31PVFEMPZBK6N2.upgrade-contract?chain=testnet>
{% endhint %}

{% hint style="info" %}

#### OG Smart Contracts

From this collection, the users are able to upgrade their NFT into Customizable Stacks Degens. Will be able to change components between components that once were in different collections.

**Miami Degens Deployment on testnet**

<https://explorer.stacks.co/txid/ST2FSGYVG0T3Z7XSSTNVY89D80V31PVFEMPZBK6N2.miami-degens?chain=testnet>

**NYC Degens Deployment on testnet**

<https://explorer.stacks.co/txid/ST2FSGYVG0T3Z7XSSTNVY89D80V31PVFEMPZBK6N2.nyc-degens?chain=testnet>
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.degenlab.io/gamefistacks/customizable-nfts-m2/smart-contracts.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
