> For the complete documentation index, see [llms.txt](https://developer.xyxyx.pro/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.xyxyx.pro/api-endpoints/erc-721f.md).

# ERC-721F

The ERC-721F standard is a variant of the ERC-721 standard conceived by Xyxyx.

ERC-721F is designed to provide highly customizable token issuance by assigning each token an individualized SVG output (`svgString`) at the time of minting.

* [ERC-721F Github repo](https://github.com/xyxyxpro/ERC-721F)

***

#### **Endpoints**

The Xyxyx API provides dedicated ERC-721F endpoints that allow developers to deploy contracts and mint text-based tokens dynamically using Xyxyx's two foundational tokenization models:

* [**Deploy Contract**](/api-endpoints/erc-721/deploy-contract-1x1.md)
* [**Mint 1x1**](/api-endpoints/erc-721f/mint-1x1.md)
* [**Mint A4**](/api-endpoints/erc-721f/mint-a4.md)

**Deployment & Minting Process**

1. **Deploy an ERC-721F contract** using the API’s deployment endpoints.
2. **Mint tokens** by calling the `mint-token` endpoint, specifying:
   * The **recipient address**
   * The **token ID**
   * The **custom SVG** (`svgString`) to be used for the text-based token

#### **Endpoint Structure**

All ERC-721F endpoints follow the format:

```plaintext
/api/v1/ERC721F/{network}/{action}{model}
```

Where:

* `{network}` is the target blockchain (e.g., `mainnet`, `sepolia`, `optimism`, etc.).
* `{action}` defines the specific operation (e.g., `deploy-contract`, `mint-nft`).
* `{model}` is either `1x1` or `A4`, depending on the tokenization model used.

**Example Endpoints**

* **Deploy an ERC-721F contract** on **Ethereum Mainnet**:

  ```plaintext
  /api/v1/ERC721F/mainnet/deploy-contract
  ```
* **Mint a token** using the **1x1 model** on **Arbitrum**:

  ```plaintext
  /api/v1/ERC721F/arbitrum/mint-nft-1x1
  ```
* **Mint a token** using the **A4 model** on **Base Sepolia Testnet**:

  ```plaintext
  /api/v1/ERC721F/base-sepolia/mint-nft-A4
  ```

***

#### **Constructor Arguments**

The ERC-721F contract supports constructor arguments to customize contract behavior at deployment:

| Argument          | Description                                                                                   | Example Value           |
| ----------------- | --------------------------------------------------------------------------------------------- | ----------------------- |
| `name`            | Defines the token's name                                                                      | Token Name              |
| `ticker`          | Defines the token's ticker                                                                    | TN                      |
| `supply`          | Defines the max supply. If set to `0`, the collection has **infinite supply**.                | `0` or e.g., `10000`    |
| `mintPrice`       | Determines the minting cost per token. If set to `0`, the minting is **free**.                | `0` or e.g., `0.05 ETH` |
| `restrictToOwner` | If set to `true`, **only the contract owner** can mint tokens. If `false`, minting is public. | `true` or `false`       |
