# Avascriptions


# Depoly

### Enter the token page and click depoly

{% embed url="<https://avascriptions.com/token>" %}

<figure><img src="/files/yXJ2QzjWKqwvGOi9r3JH" alt=""><figcaption></figcaption></figure>

### Fill in data : Tick, Total supply, Limit  to complete deployment

<figure><img src="/files/4PvfdBq27BnXJLxPpprv" alt=""><figcaption></figcaption></figure>


# Mint

### Click the button to go to the Token details page

<figure><img src="/files/OPk3fBC8ONUPN75T2QPt" alt=""><figcaption></figcaption></figure>

### Click avascribe to inscribe (please select the asc-20 token in progress)

<figure><img src="/files/GxyIEiZ5xodsi5yeYAj8" alt=""><figcaption></figcaption></figure>


# Transfer

### Click on the top right corner to go to the My Avascriptions page

<figure><img src="/files/UBz2urO1jU13A6qP6NcQ" alt=""><figcaption></figcaption></figure>

### Click Transfer, fill in the quantity and address, and complete the transfer

<figure><img src="/files/JrVUeW3QoiUS1Yz4WHNt" alt=""><figcaption></figcaption></figure>


# ASC-20

ASC-20


# Deploy

```
{ 
  "p": "asc-20",
  "op": "deploy",
  "tick": "avav",
  "max": "1463636349000000",
  "lim": "69696969"
}
```

<table><thead><tr><th width="97">Key</th><th width="108.33333333333331">Required?</th><th>Description</th></tr></thead><tbody><tr><td>p</td><td>Yes</td><td>Protocol: Helps other systems identify and process asc-20 events</td></tr><tr><td>op</td><td>Yes</td><td>Operation: Type of event (Deploy, Mint, Transfer,List)</td></tr><tr><td>tick</td><td>Yes</td><td>Ticker:  Identifier of the asc-20</td></tr><tr><td>max</td><td>Yes</td><td>Max supply: Set max supply of the asc-20</td></tr><tr><td>lim</td><td>Yes</td><td>Mint limit: limit per inscription</td></tr></tbody></table>


# Mint

```
{ 
  "p": "asc-20",
  "op": "mint",
  "tick": "avav",
  "amt": "69696969"
}
```

<table><thead><tr><th width="85">Key</th><th width="126">Required?</th><th>Description</th></tr></thead><tbody><tr><td>p</td><td>Yes</td><td>Protocol: Helps other systems identify and process asc-20 events</td></tr><tr><td>op</td><td>Yes</td><td>Operation: Type of event (Deploy, Mint, Transfer,List)</td></tr><tr><td>tick</td><td>Yes</td><td>Ticker: Identifier of the asc-20</td></tr><tr><td>amt</td><td>Yes</td><td>Amount to mint: States the amount of the asc-20 to mint. Has to be less or equal to "lim" </td></tr></tbody></table>


# Transfer

```
{ 
  "p": "asc-20",
  "op": "transfer",
  "tick": "avav",
  "amt": "69696969"
}
```

<table><thead><tr><th width="99">Key</th><th width="127">Required?</th><th>Description</th></tr></thead><tbody><tr><td>p</td><td>Yes</td><td>Protocol: Helps other systems identify and process asc-20 events</td></tr><tr><td>op</td><td>Yes</td><td>Operation: Type of event (Deploy, Mint, Transfer,List)</td></tr><tr><td>tick</td><td>Yes</td><td>Ticker: Identifier of the asc-20</td></tr><tr><td>amt</td><td>Yes</td><td>Amount to transfer: States the amount of the asc-20 to transfer.</td></tr></tbody></table>

Initiate a transaction with the above rules as data, and the to address of the transaction will be the recipient of asc20 tokens.


# List

```
{ 
  "p": "asc-20",
  "op": "list",
  "tick": "avav",
  "amt": "69696969"
}
```

<table><thead><tr><th width="99">Key</th><th width="127">Required?</th><th>Description</th></tr></thead><tbody><tr><td>p</td><td>Yes</td><td>Protocol: Helps other systems identify and process asc-20 events</td></tr><tr><td>op</td><td>Yes</td><td>Operation: Type of event (Deploy, Mint, Transfer,List)</td></tr><tr><td>tick</td><td>Yes</td><td>Ticker: Identifier of the asc-20</td></tr><tr><td>amt</td><td>Yes</td><td>Amount to transfer: States the amount of the asc-20 to transfer.</td></tr></tbody></table>

Initiate a transaction with the above rules as data, and the to address of the transaction is the address of the exchange contract, so that the contract can process these tokens through log events.

<mark style="color:red;">In particular, if the contract does not have the ability to process these ASC-20 tokens, the ASC-20 tokens will be permanently lost.</mark>


# Transaction process

Following the above rules, assemble JSON content. For example, the content for a transfer is as follows:

```
{"p":"asc-20","op":"transfer","tick":"avav","amt":"69696969"}
```

After adding the prefix:

```
data:,{"p":"asc-20","op":"transfer","tick":"avav","amt":"69696969"}
```

After converting it to hexadecimal:

```
646174613a2c7b2270223a226173632d3230222c226f70223a227472616e73666572222c227469636b223a2261766176222c22616d74223a223639363936393639227d
```

Finally, send this hexadecimal data as the transaction's data.\
\
Here is an example JavaScript code:

<pre class="language-javascript"><code class="lang-javascript">// Transfer data
<strong>const transfer = { 
</strong>  p: 'asc-20',
  op: 'transfer',
  tick: 'avav',
  amt: '69696969'
};
// Add the prefix
const asc20Data = 'data:,' + JSON.stringify(transfer);
// Convert to hexadecimal
const uint8Array = new TextEncoder().encode(asc20Data);
const hexData = Array.from(uint8Array).map(byte => byte.toString(16)).join('');

// Example code for sending a transaction
const transaction = {
  from: 'sender_address', // Replace with the actual sender address
  to: 'recipient_address', // Replace with the actual recipient address
  value: 0,
  gas: 'gas_amount', // Replace with the actual gas amount
  gasPrice: 'gas_price', // Replace with the actual gas price
  data: '0x' + hexData // Add hexadecimal data as the transaction's data
};

// Transaction sending logic, this is just an example, actual implementation may depend on the blockchain library or tool used
web3.eth.sendTransaction(transaction, (error, hash) => {
   if (!error) {
     console.log('Transaction hash:', hash);
   } else {
     console.error('Transaction error:', error);
   }
});
</code></pre>


# Index Rules

* Transaction data converted to text must start with "data:${mime-type}," or it won't be indexed. $mime-type can be left blank, e.g. "data:,".
* The first deployment of a ticker is the only one that has claim to the ticker.&#x20;
* Tickers are not case sensitive (aval = AVAL=Aval=....).
* The first mint to exceed the maximum supply will receive the fraction that is valid. (ex. 21,000,000 maximum supply, 20,999,242 circulating supply, and 1000 mint inscription = 758 balance state applied)
* Maximum supply cannot exceed uint64\_max
* Due to community consensus, the AVAL index data for aval will be entirely sourced from Dune's data.


# ASIPS


# What are ASIPs?

Proposals for improvement to the Avascriptions protocol. More information about standards and processes to come.


# Accepted ASIPs


# ASIP-1: Smart Contract Avascription ASC-20 Transfers

This ASIP is LIVE

### Specification

Incorporate one new smart contract event into the Avascriptions Protocol:

```solidity
event avascriptions_protocol_TransferASC20Token(
    address indexed from,
    address indexed to,
    string indexed ticker,
    uint256 amount
)
```

Event signature:

```solidity
// "0x8cdf9e10a7b20e7a9c4e778fc3eb28f2766e438a9856a62eac39fbd2be98cbc2"
keccak256("avascriptions_protocol_TransferASC20Token(address,address,string,uint256)")
```

When a contract emits the avascriptions\_protocol\_TransferASC20Token event, it signifies that the protocol is registering a valid ASC-20 token transfer from the emitting contract to the recipient. This transfer is valid if the emitting contract possesses a sufficient number of corresponding tokens at the time of emitting the event, and the event is emitted in block number 38896000 or a later block.

In the case of multiple valid events, they should be sequentially processed based on their log index. Additionally, if the input data of the transaction also represents a valid transfer, this transfer will take precedence and be processed before any event-based transfers.

### Rationale

ASC-20 Tokens are transferable to any address, enabling their ownership by smart contracts. However, the current limitation exists wherein smart contracts are unable to directly transfer or create these avascriptions themselves. This restriction hampers the development of protocol dApps relying on smart contracts, such as marketplaces.&#x20;

To address this, the proposal outlines a direct and cost-effective mechanism that enables smart contracts to carry out ASC-20 token transfers.

{% hint style="info" %} <mark style="color:red;">Important note:</mark> ticker must be converted to lowercase or the indexer will not recognize it!
{% endhint %}

####


# ASIP-2: Safe Trustless Smart Contract ASC20-Token Escrow

This ASIP is LIVE

### Specification

Add a new smart contract event into the Avascriptions Protocol:

```solidity
event avascriptions_protocol_TransferASC20TokenForListing(
    address indexed from,
    address indexed to,
    bytes32 id
);
```

Event signature:

```solidity
// "0xe2750d6418e3719830794d3db788aa72febcd657bcd18ed8f1facdbf61a69a9a"
keccak256("avascriptions_protocol_TransferASC20TokenForListing(address,address,bytes32)")
```

When a contract emits this event, the protocol should register a valid ASC-20 tokens transfer from the emitting contract to recipient, provided:

1. **from**:  the address of the user who initiated the valid list.
2. **to**:  the address of the token recipient.
3. **id**: the avasription ID of the listing transaction.

After receiving this event, the indexer needs to retrieve corresponding information from the previously recorded list avascription. It's necessary to verify whether the contract address and the initiator's address match the previously recorded listing. If they match, the ASC-20 tokens are transferred according to the tick and amount information recorded in the listing.

### Rationale&#x20;

ASIP-2 is primarily designed to facilitate secure escrowing of ASC-20 tokens by smart contracts.

The concept of smart contract escrow involves sending ASC-20 tokens to a smart contract, where the tokens are owned by the contract, yet the sender retains certain control over them—usually the ability to withdraw them or direct the smart contract to transfer them to another party.

Marketplaces represent a prevalent use case for smart contract ASC-20 token escrows. Presently, individuals cannot grant smart contracts permission to transfer their ASC-20 tokens. Therefore, to list an ASC-20 token for sale, it must first be transferred to the marketplace contract.

While the introduction of `avascriptions_protocol_TransferASC20Token` in ASIP-1 grants smart contracts the capability to send and receive ASC-20 tokens and function as marketplaces or escrows, ASIP-1 alone doesn't equip smart contracts with the necessary information to operate securely as escrows without additional assistance.

The aim of ASIP-2 is to empower smart contracts to overcome this limitation.


# Marketplace


# Verified Badge

### **Avascriptions** Verified Badge

Avascriptions is dedicated to fostering a healthy and vibrant trading environment within the ASC-20 ecosystem. To recognize the achievements and contributions of specific inscriptions in trading, we have implemented the Avascriptions Marketplace Verified Badge System. This system awards different levels of badges to inscriptions based on their trading volume, symbolizing their contribution to the ASC-20 ecosystem. The following table outlines the various ASC-20 ecosystem contributors and their corresponding badges:

| Title                   | Badge                   | Trading Volume (AVAX) |
| ----------------------- | ----------------------- | --------------------- |
| **ASC20 Eco-Builder**   | **Blue Badge**          | **20,000**            |
| **ASC20 Eco-Pioneer**   | **Gold Badge**          | **100,000**           |
| **ASC20 Eco-Navigator** | **Red Badge**           | **500,000**           |
| **ASC20 Eco-Legend**    | **Legendary** **Badge** | **2,500,000**         |

This tiered badge system not only acknowledges the milestones in inscription trading but also aims to encourage the active development of more inscriptions within the ASC-20 ecosystem, helping to create a more active and dynamic ASC-20 trading environment.


# Developer Service

Welcome to Avascriptions Developer Service documentation

{% hint style="info" %} <mark style="color:orange;">Please read</mark>[ Avascriptions Developer Service Legal Disclaimer](/developer-service/legal-disclaimer) <mark style="color:orange;">before using Avascriptions Open</mark> <mark style="color:orange;">API Service.</mark>
{% endhint %}

## Overview

Avascriptions Developer Service is open to community developers, allowing you to explore the world of Bitcoin and ordinals. You can deploy your own inscribing services, build wallet applications, develop browsers, and much more using the API.

## Getting an API Key

To use the OpenAPI, please request an API\_KEY from us by sending an email to <dev@avascriptions.com> with the name and description of your project and the reason for using it. After we review it, we will send you the API\_KEY.

When you obtain the API key, please add it to the request header with the `Authorization` format as follows:

```
curl --location 'http://open-api.avascriptions.com/v1/asc20/info' \
--header 'Authorization: Bearer YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
    "ticker":"avav"
}'
```


# ASC-20

{% content-ref url="/spaces/qy4KBPMImpPIorbU0BJL/pages/OEwaKkLc2W8wQAJ2wMYD" %}
[Get ASC-20 List](/developer-service/asc-20/get-asc-20-list)
{% endcontent-ref %}

{% content-ref url="/spaces/qy4KBPMImpPIorbU0BJL/pages/WHlHUXv0lG5LKNXGU98n" %}
[Get  ASC-20 Ticker Info](/developer-service/asc-20/get-asc-20-ticker-info)
{% endcontent-ref %}

{% content-ref url="/spaces/qy4KBPMImpPIorbU0BJL/pages/5vVk7AHAXFzQiWoDWk8l" %}
[Get  ASC-20 Balance Of  The Address](/developer-service/asc-20/get-asc-20-balance-of-the-address)
{% endcontent-ref %}

{% content-ref url="/spaces/qy4KBPMImpPIorbU0BJL/pages/IhFle96sgMyF8T8buPAj" %}
[Get  ASC-20 Ticker History](/developer-service/asc-20/get-asc-20-ticker-history)
{% endcontent-ref %}

{% content-ref url="/spaces/qy4KBPMImpPIorbU0BJL/pages/VbXaW8BvBOEjzvZlaHcg" %}
[Get  ASC-20 History By Block](/developer-service/asc-20/get-asc-20-history-by-block)
{% endcontent-ref %}

{% content-ref url="/spaces/qy4KBPMImpPIorbU0BJL/pages/rtexEmLDvl6W3QhaGsUH" %}
[Get  ASC-20 Ticker Last History](/developer-service/asc-20/get-asc-20-ticker-last-history)
{% endcontent-ref %}

{% content-ref url="/spaces/qy4KBPMImpPIorbU0BJL/pages/1WmIFMmeIuOnuIT0dGRW" %}
[Get  ASC-20 Records By TxId](/developer-service/asc-20/get-asc-20-records-by-txid)
{% endcontent-ref %}

{% content-ref url="/spaces/qy4KBPMImpPIorbU0BJL/pages/3zj8AXSTRLBaNKqQy01o" %}
[Get  Address ASC-20 History](/developer-service/asc-20/get-address-asc-20-history)
{% endcontent-ref %}


# Get ASC-20 List

## Get the ticker list of ASC20 token.

<mark style="color:green;">`POST`</mark> `https://open-api.avascriptions.com/v1/asc20/list`

#### Query Parameters

| Name  | Type    | Description                        |
| ----- | ------- | ---------------------------------- |
| page  | integer | Start page, default 1              |
| limit | integer | Number of token returned, Up to 50 |

{% tabs %}
{% tab title="200: OK Successful operation" %}
{% code fullWidth="false" %}

```json
{
    "status": 200,
    "data": {
        "list": [
            {
               "id": "0x3fcf9252b5b0b940080f4f318208221e34691340f0a9a53d1b107b0a61b0cf10",
               "tick": "avav",
               "max": "1463636349000000",
               "minted": "1463636349000000",
               "limit": "69696969",
                "precision": 0,
                "deployBy": "0x364af27a926c472cdaae251c8eedf6af7e39d234",
                "createdAt": 1700888064,
                "creator": "0x364af27a926c472cdaae251c8eedf6af7e39d234",
                "holders": 39669,
                "trxs": 21138544,
                "completedAt": 1702782070
            }
        ],
        "total": 1000
    }
}
```

{% endcode %}
{% endtab %}

{% tab title="401: Unauthorized Invalid API Key" %}

{% endtab %}
{% endtabs %}


# Get  ASC-20 Ticker Info

## Get ticker info.

<mark style="color:green;">`POST`</mark> `https://open-api.avascriptions.com/v1/asc20/info`

#### Query Parameters

| Name                                     | Type   | Description  |
| ---------------------------------------- | ------ | ------------ |
| ticker<mark style="color:red;">\*</mark> | string | Token ticker |

{% tabs %}
{% tab title="200: OK Successful operation" %}

```json
{
    "status": 200,
    "data": {
        "id": "0x3fcf9252b5b0b940080f4f318208221e34691340f0a9a53d1b107b0a61b0cf10",
        "tick": "avav",
        "max": "1463636349000000",
        "minted": "1463636349000000",
        "limit": "69696969",
        "precision": 0,
        "deployBy": "0x364af27a926c472cdaae251c8eedf6af7e39d234",
        "createdAt": 1700888064,
        "creator": "0x364af27a926c472cdaae251c8eedf6af7e39d234",
        "holders": 39669,
        "trxs": 21138544,
        "completedAt": 1702782070
    }
}
```

{% endtab %}

{% tab title="401: Unauthorized Invalid API Key" %}

{% endtab %}
{% endtabs %}


# Get  ASC-20 Balance Of  The Address

## Get balance of  the address

<mark style="color:green;">`POST`</mark> `https://open-api.avascriptions.com/v1/asc20/balance`

#### Query Parameters

| Name                                      | Type    | Description                                    |
| ----------------------------------------- | ------- | ---------------------------------------------- |
| ticker                                    | string  | Token ticker                                   |
| address<mark style="color:red;">\*</mark> | string  | Address                                        |
| page                                      | integer | Start page, default 1                          |
| limit                                     | integer | Number of token returned, Up to 50, default 50 |

{% tabs %}
{% tab title="200: OK Successful operation" %}

```json
{
  "status": 200,
  "data": {
    "list": [
      {
        "address": "0xaaaaa6972e56c3c12345caaaaaabaaaaa9999999",
        "tick": "avav",
        "amount": "69696969"
      }
    ],
    "total": 1
  }
}
```

{% endtab %}

{% tab title="401: Unauthorized Invalid API Key" %}

{% endtab %}
{% endtabs %}


# Get  ASC-20 Holders

## Get holders by ticker

<mark style="color:green;">`POST`</mark> `https://open-api.avascriptions.com/v1/asc20/holders`

#### Query Parameters

| Name                                     | Type    | Description                                     |
| ---------------------------------------- | ------- | ----------------------------------------------- |
| ticker<mark style="color:red;">\*</mark> | string  | Token ticker                                    |
| page                                     | integer | Start page, default 1                           |
| limit                                    | integer | Number of holder returned, Up to 50, default 50 |

{% tabs %}
{% tab title="200: OK Successful operation" %}

```json
{
  "status": 200,
  "data": {
    "list": [
        {
           "address": "0x1ab4973a48dc892cd9971ece8e01dcc7688f8f23",
           "tick": "avav",
           "amount": "227625700239746"
        },
        {
            "address": "0xa9453b8844e407159e09a9c2dc47b8be873a6cda",
            "tick": "avav",
            "amount": "39154660836491"
        }
    ],
    "total": 77584
  }
}
```

{% endtab %}

{% tab title="401: Unauthorized Invalid API Key" %}

{% endtab %}
{% endtabs %}


# Get  ASC-20 Ticker History

## Get the full history of ASC20.

<mark style="color:green;">`POST`</mark> `https://open-api.avascriptions.com/v1/asc20/history`

#### Query Parameters

| Name                                     | Type    | Description                                      |
| ---------------------------------------- | ------- | ------------------------------------------------ |
| ticker<mark style="color:red;">\*</mark> | string  | Token ticker                                     |
| start<mark style="color:red;">\*</mark>  | integer | Start offset  (list.id)                          |
| limit                                    | integer | Number of history returned, Up to 50, default 50 |

{% tabs %}
{% tab title="200: OK Successful operation" %}

```json
{
    "status": 200,
    "data": [
        {
            "id": 1196,
            "tick": "avav",
            "operation": "mint",
            "from": "0xaaaaa6972e56c3c12345caaaaaabaaaaa9999999",
            "to": "0xaaaaa6972e56c3c12345caaaaaabaaaaa9999999",
            "amount": "69696969",
            "valid": 1,
            "block": "28753000",
            "hash": "0xa64c6fac991c54a9062bae35dc2d6f6baa1f3eaafba695dc5477301c39edd108",
            "timestamp": 1703245230
        },
        {
            "id": 1130,
            "tick": "avav",
            "operation": "transfer",
            "from": "0xaaaaa6972e56c3c12345caaaaaabaaaaa9999999",
            "to": "0xaaaaa6972e56c3c12345caaaaaabaaaaa99999100",
            "amount": "69696969",
            "valid": 1,
            "block": "28753031",
            "hash": "0xe73bd4c4ccc8bd86cbe361ff05815d077a97d7f7bcfd4f46bd46ccc20d225811",
            "timestamp": 1703218684
        },
        {
            "id": 1131,
            "tick": "avav",
            "operation": "list",
            "from": "0xaaaaa6972e56c3c12345caaaaaabaaaaa9999999",
            "to": "0x1abc2ad33a5bc7f03c1f8cf71a94817888808008",
            "amount": "69696969",
            "valid": 1,
            "block": "28753031",
            "hash": "0xe73bd4c4ccc8bd86cbe361ff05815d077a97d7f7bcfd4f46bd46ccc20d225811",
            "timestamp": 1703238684
        },
        {
            "id": 1132,
            "tick": "avav",
            "operation": "exchange",
            "from": "0x1abc2ad33a5bc7f03c1f8cf71a94817888808008",
            "to": "0xbbbbb6972e56c12345caaaaaabbbbbbb88888888",
            "amount": "69696969",
            "valid": 1,
            "block": "28753032",
            "hash": "0x82bba1d6df3959c91643c16af786208b70ac43932f95218e2e82d2b6a9eeb35a",
            "timestamp": 1703248777
        }
    ]
}
```

{% endtab %}

{% tab title="401: Unauthorized Invalid API Key" %}

{% endtab %}
{% endtabs %}


# Get  ASC-20 History By Block

## Get the full history of ASC20 by block.

<mark style="color:green;">`POST`</mark> `https://open-api.avascriptions.com/v1/asc20/history-by-block`

#### Query Parameters

| Name                                    | Type    | Description                                      |
| --------------------------------------- | ------- | ------------------------------------------------ |
| ticker                                  | string  | Token ticker                                     |
| start                                   | integer | Start offset  (list.id)                          |
| limit                                   | integer | Number of history returned, Up to 50, default 50 |
| block<mark style="color:red;">\*</mark> | integer | Block Height                                     |

{% tabs %}
{% tab title="200: OK Successful operation" %}

```json
{
    "status": 200,
    "data": [
        {
            "id": 1196,
            "tick": "avav",
            "operation": "mint",
            "from": "0xaaaaa6972e56c3c12345caaaaaabaaaaa9999999",
            "to": "0xaaaaa6972e56c3c12345caaaaaabaaaaa9999999",
            "amount": "69696969",
            "valid": 1,
            "block": "28753000",
            "hash": "0xa64c6fac991c54a9062bae35dc2d6f6baa1f3eaafba695dc5477301c39edd108",
            "timestamp": 1703245230
        },
        {
            "id": 1130,
            "tick": "avav",
            "operation": "transfer",
            "from": "0xaaaaa6972e56c3c12345caaaaaabaaaaa9999999",
            "to": "0xaaaaa6972e56c3c12345caaaaaabaaaaa99999100",
            "amount": "69696969",
            "valid": 1,
            "block": "28753031",
            "hash": "0xe73bd4c4ccc8bd86cbe361ff05815d077a97d7f7bcfd4f46bd46ccc20d225811",
            "timestamp": 1703218684
        },
        {
            "id": 1131,
            "tick": "avav",
            "operation": "list",
            "from": "0xaaaaa6972e56c3c12345caaaaaabaaaaa9999999",
            "to": "0x1abc2ad33a5bc7f03c1f8cf71a94817888808008",
            "amount": "69696969",
            "valid": 1,
            "block": "28753031",
            "hash": "0xe73bd4c4ccc8bd86cbe361ff05815d077a97d7f7bcfd4f46bd46ccc20d225811",
            "timestamp": 1703238684
        },
        {
            "id": 1132,
            "tick": "avav",
            "operation": "exchange",
            "from": "0x1abc2ad33a5bc7f03c1f8cf71a94817888808008",
            "to": "0xbbbbb6972e56c12345caaaaaabbbbbbb88888888",
            "amount": "69696969",
            "valid": 1,
            "block": "28753032",
            "hash": "0x82bba1d6df3959c91643c16af786208b70ac43932f95218e2e82d2b6a9eeb35a",
            "timestamp": 1703248777
        }
    ]
}
```

{% endtab %}

{% tab title="401: Unauthorized Invalid API Key" %}

{% endtab %}
{% endtabs %}


# Get  ASC-20 Ticker Last History

## Get the last item of ASC20.

<mark style="color:green;">`POST`</mark> `https://open-api.avascriptions.com/v1/asc20/last`

#### Query Parameters

| Name                                     | Type   | Description  |
| ---------------------------------------- | ------ | ------------ |
| ticker<mark style="color:red;">\*</mark> | string | Token ticker |

{% tabs %}
{% tab title="200: OK Successful operation" %}

```json
{
    "status": 200,
    "data": {
        "id": 1131,
        "tick": "avav",
        "operation": "transfer",
        "from": "0xaaaaa6972e56c3c12345caaaaaabaaaaa9999999",
        "to": "0xbaaaa6972e56c3c12345caaaaaabaaaaa9999910",
        "amount": "69696969",
        "valid": 1,
        "block": "28752030",
        "hash": "0xe73bd4c4ccc8bd86cbe361ff05815d077a97d7f7bcfd4f46bd46ccc20d225811",
        "timestamp": 1703218684
    }
}
```

{% endtab %}

{% tab title="401: Unauthorized Invalid API Key" %}

{% endtab %}
{% endtabs %}


# Get  ASC-20 Records By TxId

## Get ASC-20 records by transaction id.

<mark style="color:green;">`POST`</mark> `https://open-api.avascriptions.com/v1/asc20/records-by-trxid`

#### Query Parameters

| Name                                   | Type   | Description    |
| -------------------------------------- | ------ | -------------- |
| txid<mark style="color:red;">\*</mark> | string | Transaction id |

{% tabs %}
{% tab title="200: OK Successful operation" %}

```json
{
    "status": 200,
    "data": [
        {
            "id": 1131,
            "tick": "avav",
            "operation": "transfer",
            "from": "0xaaaaa6972e56c3c12345caaaaaabaaaaa9999999",
            "to": "0xbaaaa6972e56c3c12345caaaaaabaaaaa9999910",
            "amount": "69696969",
            "valid": 1,
            "block": "28752030",
            "hash": "0xe73bd4c4ccc8bd86cbe361ff05815d077a97d7f7bcfd4f46bd46ccc20d225811",
            "timestamp": 1703218684
        }
    ]
}
```

{% endtab %}

{% tab title="401: Unauthorized Invalid API Key" %}

{% endtab %}
{% endtabs %}

{% hint style="info" %}
Please make sure that records's valid is 1, if it is -1 it means that the operation is not successful, it may be that the balance is not enough or other parameters are wrong.

Because some operation events (e.g., transfers) are emited by contracts, there may be multiple ASC20 records within the same transaction.
{% endhint %}


# Get  Address ASC-20 History

## Get the full history of ASC20 by address.

<mark style="color:green;">`POST`</mark> `https://open-api.avascriptions.com/v1/asc20/history-by-address`

#### Query Parameters

| Name                                      | Type    | Description                                                                                                   |
| ----------------------------------------- | ------- | ------------------------------------------------------------------------------------------------------------- |
| address<mark style="color:red;">\*</mark> | string  | address                                                                                                       |
| start                                     | integer | Start offset  (list.id), default 0                                                                            |
| limit                                     | integer | Number of history returned, Up to 50, default 50                                                              |
| operation                                 | string  | <p>deploy,</p><p>mint,</p><p>transfer,</p><p>list,</p><p>exchange</p>                                         |
| ticker                                    | string  | Token ticker                                                                                                  |
| block                                     | integer | Block Height                                                                                                  |
| valid                                     | integer | If valid is 1, only valid records are returned, otherwise all records are returned, default is 1              |
| returnFields                              | string  | , character separated string. If there is this field in the inscription content, this field will be returned. |

{% tabs %}
{% tab title="200: OK Successful operation" %}

```json
{
    "status": 200,
    "data": [
        {
            "id": 1196,
            "tick": "avav",
            "operation": "mint",
            "from": "0xaaaaa6972e56c3c12345caaaaaabaaaaa9999999",
            "to": "0xaaaaa6972e56c3c12345caaaaaabaaaaa9999999",
            "amount": "69696969",
            "valid": 1,
            "block": "28753000",
            "hash": "0xa64c6fac991c54a9062bae35dc2d6f6baa1f3eaafba695dc5477301c39edd108",
            "timestamp": 1703245230
        },
        {
            "id": 1130,
            "tick": "avav",
            "operation": "transfer",
            "from": "0xaaaaa6972e56c3c12345caaaaaabaaaaa9999999",
            "to": "0xaaaaa6972e56c3c12345caaaaaabaaaaa99999100",
            "amount": "69696969",
            "valid": 1,
            "block": "28753031",
            "hash": "0xe73bd4c4ccc8bd86cbe361ff05815d077a97d7f7bcfd4f46bd46ccc20d225811",
            "timestamp": 1703218684
        },
        {
            "id": 1131,
            "tick": "avav",
            "operation": "list",
            "from": "0xaaaaa6972e56c3c12345caaaaaabaaaaa9999999",
            "to": "0x1abc2ad33a5bc7f03c1f8cf71a94817888808008",
            "amount": "69696969",
            "valid": 1,
            "block": "28753031",
            "hash": "0xe73bd4c4ccc8bd86cbe361ff05815d077a97d7f7bcfd4f46bd46ccc20d225811",
            "timestamp": 1703238684
        },
        {
            "id": 1132,
            "tick": "avav",
            "operation": "exchange",
            "from": "0xaaaaa6972e56c3c12345caaaaaabaaaaa9999999",
            "to": "0xbbbbb6972e56c12345caaaaaabbbbbbb88888888",
            "amount": "69696969",
            "valid": 1,
            "block": "28753032",
            "hash": "0x82bba1d6df3959c91643c16af786208b70ac43932f95218e2e82d2b6a9eeb35a",
            "timestamp": 1703248777
        }
    ]
}
```

{% endtab %}

{% tab title="401: Unauthorized Invalid API Key" %}

{% endtab %}
{% endtabs %}


# Get  Address ASC-20 Last History

## Get the full history of ASC20 by address, In reverse order.

<mark style="color:green;">`POST`</mark> `https://open-api.avascriptions.com/v1/asc20/last-history-by-address`

#### Query Parameters

| Name                                      | Type    | Description                                                                                                   |
| ----------------------------------------- | ------- | ------------------------------------------------------------------------------------------------------------- |
| address<mark style="color:red;">\*</mark> | string  | address                                                                                                       |
| start                                     | integer | Start offset  (list.id), default 0                                                                            |
| limit                                     | integer | Number of history returned, Up to 50, default 50                                                              |
| operation                                 | string  | <p>deploy,</p><p>mint,</p><p>transfer,</p><p>list,</p><p>exchange</p>                                         |
| ticker                                    | string  | Token ticker                                                                                                  |
| block                                     | integer | Block Height                                                                                                  |
| valid                                     | integer | If valid is 1, only valid records are returned, otherwise all records are returned, default is 1              |
| returnFields                              | string  | , character separated string. If there is this field in the inscription content, this field will be returned. |

{% tabs %}
{% tab title="200: OK Successful operation" %}

```json
{
    "status": 200,
    "data": [
        {
            "id": 1132,
            "tick": "avav",
            "operation": "exchange",
            "from": "0xaaaaa6972e56c3c12345caaaaaabaaaaa9999999",
            "to": "0xbbbbb6972e56c12345caaaaaabbbbbbb88888888",
            "amount": "69696969",
            "valid": 1,
            "block": "28753032",
            "hash": "0x82bba1d6df3959c91643c16af786208b70ac43932f95218e2e82d2b6a9eeb35a",
            "timestamp": 1703248777
        },
        {
            "id": 1131,
            "tick": "avav",
            "operation": "list",
            "from": "0xaaaaa6972e56c3c12345caaaaaabaaaaa9999999",
            "to": "0x1abc2ad33a5bc7f03c1f8cf71a94817888808008",
            "amount": "69696969",
            "valid": 1,
            "block": "28753031",
            "hash": "0xe73bd4c4ccc8bd86cbe361ff05815d077a97d7f7bcfd4f46bd46ccc20d225811",
            "timestamp": 1703238684
        },
        {
            "id": 1130,
            "tick": "avav",
            "operation": "transfer",
            "from": "0xaaaaa6972e56c3c12345caaaaaabaaaaa9999999",
            "to": "0xaaaaa6972e56c3c12345caaaaaabaaaaa99999100",
            "amount": "69696969",
            "valid": 1,
            "block": "28753031",
            "hash": "0xe73bd4c4ccc8bd86cbe361ff05815d077a97d7f7bcfd4f46bd46ccc20d225811",
            "timestamp": 1703218684
        },
        {
            "id": 1196,
            "tick": "avav",
            "operation": "mint",
            "from": "0xaaaaa6972e56c3c12345caaaaaabaaaaa9999999",
            "to": "0xaaaaa6972e56c3c12345caaaaaabaaaaa9999999",
            "amount": "69696969",
            "valid": 1,
            "block": "28753000",
            "hash": "0xa64c6fac991c54a9062bae35dc2d6f6baa1f3eaafba695dc5477301c39edd108",
            "timestamp": 1703245230
        }
    ]
}
```

{% endtab %}

{% tab title="401: Unauthorized Invalid API Key" %}

{% endtab %}
{% endtabs %}


# Marketplace


# Get ASC-20 Market List

## Get ASC-20 market list.

<mark style="color:green;">`POST`</mark> `https://open-api.avascriptions.com/v1/market/list`

#### Query Parameters

| Name  | Type    | Description                        |
| ----- | ------- | ---------------------------------- |
| page  | integer | Start page, default 1              |
| limit | integer | Number of token returned, Up to 50 |

{% tabs %}
{% tab title="200: OK Successful operation" %}

<pre class="language-json" data-full-width="false"><code class="lang-json">{
    "status": 200,
    "data": {
        "list": [
             {
                "tick": "avav",
                "number": "22126343",
                "holders": "41436",
                "floorPrice": "0.00000001577228444",
                "totalVolume": "31013830.758424205396674506",
                "volumeDay": "40577.389786695415001844",
                "floorPriceAVAX": "0.000000000573913049",
                "totalVolumeAVAX": "1048101.506875225192549648",
                "volumeDayAVAX": "1858.278052244297984612",
                "perMint": "69696969",
                "totalSales": "63991",
                "salesDay": "152",
                "maxSupply": "1463636349000000",
                "marketCap": "23084888.8135325331925494",
                "marketCapAVAX": "779099.999781727197",
                "listed": "1721"
            },
            {
<strong>                "tick": "dino",
</strong>                "number": "26179229",
                "holders": "37615",
                "floorPrice": "0.0000000018963328",
                "totalVolume": "12625100.154351679662983155",
                "volumeDay": "3379.2489672081680648",
                "floorPriceAVAX": "0.000000000063",
                "totalVolumeAVAX": "426285.848264429737229876",
                "volumeDayAVAX": "241.70706915788058",
                "perMint": "100000000",
                "totalSales": "44264",
                "salesDay": "51",
                "maxSupply": "2100000000000000",
                "marketCap": "3982298.88",
                "marketCapAVAX": "134400.0",
                "listed": "721"
            },
            {
                "tick": "avas",
                "number": "1",
                "holders": "8188",
                "floorPrice": "0.09481664",
                "totalVolume": "2467059.670634595982484207",
                "volumeDay": "6811.686678",
                "floorPriceAVAX": "0.000000000573913049",
                "totalVolumeAVAX": "1048101.506875225192549648",
                "volumeDayAVAX": "1858.278052244297984612",
                "perMint": "0",
                "totalSales": "7489",
                "salesDay": "13",
                "maxSupply": "21000000",
                "marketCap": "1991149.44",
                "marketCapAVAX": "67200.0",
                "listed": "121"
            }
        ],
        "total": 1000
    }
}
</code></pre>

{% endtab %}

{% tab title="401: Unauthorized Invalid API Key" %}

{% endtab %}
{% endtabs %}


# Get  ASC-20 Market Info

## Get ticker market info.

<mark style="color:green;">`POST`</mark> `https://open-api.avascriptions.com/v1/market/info`

#### Query Parameters

| Name                                     | Type   | Description  |
| ---------------------------------------- | ------ | ------------ |
| ticker<mark style="color:red;">\*</mark> | string | Token ticker |

{% tabs %}
{% tab title="200: OK Successful operation" %}

```json
{
    "status": 200,
    "data": {
        "tick": "avav",
        "number": "22126343",
        "holders": "41436",
        "floorPrice": "0.00000001577228444",
        "totalVolume": "31013830.758424205396674506",
        "volumeDay": "40577.389786695415001844",
        "floorPriceAVAX": "0.000000000573913049",
        "totalVolumeAVAX": "1048101.506875225192549648",
        "volumeDayAVAX": "1858.278052244297984612",
        "perMint": "69696969",
        "totalSales": "63991",
        "salesDay": "152",
        "maxSupply": "1463636349000000",
        "marketCap": "23084888.8135325331925494",
        "marketCapAVAX": "779099.999781727197",
        "listed": "1721"
    }
}
```

{% endtab %}

{% tab title="401: Unauthorized Invalid API Key" %}

{% endtab %}
{% endtabs %}


# Legal Disclaimer

Read this first before using the application programming interface (“API”) service from Avascriptions.

#### 1.Technical and Infrastructure Terms

1.1 Avascriptions API Data Query Service: The API data query service provided by Avascriptions (the “API Service”) is free to use and aims to provide more information to the community. Please note that the API Service is not a commercial service, and Avascriptions is not responsible for any consequences of its use.&#x20;

1.2 Fees: The API Service is currently provided for free, but Avascriptions reserves the right to charge for using the API Service in the future.&#x20;

1.3 Availability and Reliability of the API Service: Avascriptions does not guarantee the availability and reliability of the API service to API users. Users need to assess the risks associated with using the API and bear any resulting faults, issues, risks, and losses.&#x20;

1.4 Service Changes and Termination: Avascriptions reserves the right to modify or terminate the API Service at any time at its sole discretion without prior notice. Avascriptions is not responsible for any losses or inconveniences resulting from such actions.&#x20;

1.5 Data Accuracy: Avascriptions does not guarantee that the information returned by the API is accurate, timely, complete, valid, or error-free. Avascriptions is not responsible for any losses caused by inaccuracies, delay or data errors resulting from using the API Service.&#x20;

1.6 Technical Compatibility: Avascriptions is not responsible for the incompatibility of the API with any devices, platforms, browsers, services, software or hardware. Users must ensure that their technical environment is compatible with the API Service.&#x20;

1.7 Third-Party Content and Links: The API Service may contain content or links from third parties, solely as a convenience. Such third-party content or links are not under the control of Avascriptions and Avascriptions is not responsible for the quality, accuracy, completeness, performance or reliability of this content, nor for any losses incurred by users using third-party content or accessing third-party links through the API. The fact that such content or links may be included in, provided by, or accessed through the API Service does not imply endorsement by Avascriptions or the third party of either party’s sites or services. Depending on users’ jurisdiction, some third-party content may not be available to users.&#x20;

1.8 Emergency Maintenance: Avascriptions has the right to perform emergency maintenance on the API Service at any time at its sole discretion, which may result in temporary service interruptions or suspensions. Avascriptions is not responsible for any losses or inconveniences caused by this. Nothing herein shall be construed as an obligation for Avascriptions to maintain or provide technical support of any kind for the API Service.

#### 2. User, Anti-Spam, and Privacy Terms

2.1 Security Assurance: Users understand and agree that Avascriptions has implemented reasonable security measures to protect the security of the API Service. However, Avascriptions is not responsible for any losses or damages caused by unauthorized access, data leaks, or other security vulnerabilities. Accordingly, without limitation to any other provisions of this disclaimer, users acknowledge that users bear the sole responsibility for adequate security, protection and backup of any data, software programs or services in connection with users’ use of the API Service.&#x20;

2.2 Usage Restrictions: Avascriptions reserves the right to restrict, suspend, or terminate users' access to the API Service at its sole discretion without prior notice. This may be based on users' violations, misuse of the API Service, or other reasons Avascriptions deems reasonable. Avascriptions is not responsible for any loss or damage whatsoever arising from or in connection with the exercise of such rights.&#x20;

2.3 No Illegal Use: Users must not use the API Service (a) in any way or for any purpose that is illegal, (b) for sending spam or any other activity that violates the relevant regulations and policies that apply to users, (c) to upload or transmit any information or software which contains any computer viruses, worms, Trojan horses or any other intrusive or harmful computer codes, programs or files; (d) to access, use, break into, or attempt to access, use or break into any parts of the API Service which the user has not been authorized to use; and (e) in any way that contravenes or infringes upon Avascriptions’s rights or the rights of any third party. The decision of Avascriptions as to what constitutes such activities are final and conclusive. Avascriptions is not responsible for any legal liabilities resulting from users' violations.&#x20;

2.4 User Information: Avascriptions will use reasonable commercial endeavors to protect users' personal information in accordance with the relevant regulations and policies that apply to Avascriptions, but is not responsible for losses resulting from unauthorized access, data leaks, or other data security issues. Users understand that the personal information provided during the use of the API Service may be collected and processed.

#### 3. Business Applications, Legal, and Other Terms

3.1 Non-Commercial Use: Avascriptions explicitly states that the API Service is for non-commercial purposes only. Any commercial use of the API Service, including but not limited to selling, sublicensing, or engaging in other commercial activities, requires the prior written permission from Avascriptions.&#x20;

3.2 Mandatory Interpretation: The interpretation and application of this disclaimer are subject to applicable laws and will be interpreted within the limits required by law.&#x20;

3.3 Disclaimer Updates: Avascriptions reserves the right to modify this disclaimer at any time and reminds users to regularly check for changes. If users do not agree to the modifications, then users must immediately stop using the API Service. If users do not stop using the API Service, then users’ use of the API Service will continue under the changed agreement.&#x20;

3.4 Indemnification: Users will indemnify, pay the defense costs of, and hold Avascriptions and its successors, officers, directors and employees harmless from and against any and all claims, demands, costs, liabilities, judgments, losses, expenses and damages (including attorneys’/legal fees) arising out of, in connection with, or related to (a) users’ use of the API Service in breach of its term of use or in violation of any applicable laws or regulations, or (b) any data, software programs or services that users use in connection with the API Service, including without limitation any claim that such data, software program or services, or any part thereof, infringes, misappropriates, or otherwise violates any copyright, patent, trade secret, trademark, or other legal right of any third party.

3.5 No Warranty:

WE PROVIDE, TO THE FULLEST EXTENT PERMITTED BY APPLICABLE LAW, THE API SERVICE AND SUPPORT SERVICES (IF ANY) “AS IS,” “WITH ALL FAULTS” AND “AS AVAILABLE,” AND THE ENTIRE RISK AS TO SATISFACTORY QUALITY, PERFORMANCE, ACCURACY, AVAILABILITY OF DATA FROM THE API SERVICE, AND EFFORT IS WITH USERS. AVASCRIPTIONS, TO THE FULLEST EXTENT PERMITTED BY APPLICABLE LAW, MAKES NO REPRESENTATIONS, WARRANTIES, GUARANTEES OR CONDITIONS WITH RESPECT TO THE API SERVICE OR SUPPORT SERVICES (IF ANY). TO THE EXTENT PERMITTED UNDER APPLICABLE LAW, AVASCRIPTIONS DISCLAIMS AND EXCLUDES ANY AND ALL REPRESENTATIONS, WARRANTIES, GUARANTEES OR CONDITIONS, EXPRESS, STATUTORY AND IMPLIED; INCLUDING WITHOUT LIMITATION (A) REPRESENTATIONS, WARRANTIES, GUARANTEES OR CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, WORKMANLIKE EFFORT, ACCURACY, QUIET ENJOYMENT, AND NON-INFRINGEMENT, (B) REPRESENTATIONS, WARRANTIES, GUARANTEES OR CONDITIONS ARISING THROUGH COURSE OF DEALING OR USAGE OF TRADE, AND (C) REPRESENTATIONS, WARRANTIES, GUARANTEES OR CONDITIONS THAT ACCESS TO OR USE OF THE API SERVICE WILL FUNCTION AS DESCRIBED, WILL BE UNINTERRUPTED, ERROR-FREE, OR SECURE OR THAT USERS’ USE OF THE API SERVICE WILL BE RELIABLE AND ACCURATE, INCLUDING WITHOUT LIMITATION STORING, READING, UPDATING OR DELETING ANY DATA. NO ORAL OR WRITTEN STATEMENT MADE TO USERS IN THE CONTEXT OF PROVIDING THE API SERVICE OR SUPPORT SERVICES (IF ANY) WILL CREATE ANY WARRANTY THAT HAS BEEN EXPRESSLY DISCLAIMED IN THIS DISCLAIMER.

3.6 Limitation of Liability:

TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT WILL AVASCRIPTIONS HAVE ANY LIABILITY ARISING OUT OF, BASED ON, OR RESULTING FROM THIS DISCLAIMER OR USERS’ USE OF THE API SERVICE OR SUPPORT SERVICES (IF ANY), FOR (A) ANY INDIRECT, CONSEQUENTIAL, SPECIAL, INCIDENTAL, EXEMPLARY, OR PUNITIVE DAMAGES, (B) DAMAGES FOR LOST PROFITS, (C) LOSS OF INFORMATION, (D) LOSS OF USE, (E) DAMAGE TO OR LOSS OF GOODWILL, (F) USE OR INABILITY TO USE THE API SERVICE OR SUPPORT SERVICES (IF ANY); (G) COST OF PROCUREMENT OF SUBSTITUTE GOODS, DATA, SOFTWARE PROGRAMS OR SERVICES; (H) UNAUTHORIZED ACCESS TO OR USE OF, OR ANY ALTERATION, CORRUPTION, DELETION, DAMAGE OR LOSS OF, THE DATA GENERATED BY THE API SERVICE, OR ANY OTHER DATA, SOFTWARE PROGRAMS OR SERVICES USED IN CONNECTION WITH THE API SERVICE; (I) FAILURE TO PROVIDE ACCURATE INFORMATION; (J) VIRUSES OR OTHER DISABLING FEATURES THAT AFFECT USERS’ ACCESS OR USE OF THE API SERVICE OR THAT ARE TRANSFERRED TO USERS THROUGH THE API SERVICE; (K) INCOMPATIBILITIES BETWEEN THE API SERVICE AND OTHER SERVICES, SOFTWARE OR HARDWARE; AND/OR (L) ANY THIRD PARTY CONDUCT, TRANSMISSIONS OR DATA. THESE LIMITATIONS APPLY REGARDLESS OF WHETHER THE LIABILITY IS BASED ON BREACH OF CONTRACT, TORT (INCLUDING NEGLIGENCE), STRICT LIABILITY, BREACH OF WARRANTIES, OR OTHER LEGAL THEORY, AND EVEN IF (Y) THIS REMEDY DOES NOT FULLY COMPENSATE USERS FOR ANY LOSSES, OR FAILS OF ITS ESSENTIAL PURPOSE AND/OR (Z) AVASCRIPTIONS HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

3.7 Intellectual Property: Users understand and agree not to infringe on any intellectual property related to Avascriptions.

3.8 Applicable Law and Dispute Resolution: This disclaimer is subject to applicable law, and any disputes arising from the use of the API should be resolved through arbitration or other suitable means.

3.9 Clarity of Disclaimer: Users understand and agree that even if certain terms are invalid in legal terms, the remaining terms of this disclaimer remain valid.  A court may hold that we cannot enforce a part of this disclaimer as written. If this happens, then users and us will replace that part with terms that most closely match the intent of the part that we cannot enforce. The rest of this disclaimer will not change. This disclaimer, including any other policies or terms incorporated by reference, is the entire agreement between users and us regarding users’ use of the API Service. It supersedes any prior agreements or statements (whether oral or written) regarding users’ use of the API Service.

3.10 Assignment: We may assign this agreement, in whole or in part, at any time with or without notice to users. Users may not assign this agreement, or any part of it, to any other third party. Any attempt by users to do so is void. Users may not transfer to a third party, either temporarily or permanently, any rights to use the API Service or any part of them.

3.11 No Third Party Beneficiaries: This agreement is solely for users’ and our benefit. It is not for the benefit of any other party, except for permitted successors and assigns under this agreement.

3.12 No Waiver: Any delay or failure by Avascriptions to exercise a right or remedy will not result in a waiver of that, or any other, right or remedy.


# Official Links

### Twitter: <https://x.com/Avascriptions>

### Discord: <https://discord.gg/qgyQEPxXu9>

### Github: <https://github.com/avascriptions>

### You can view [BTCUSD price chart](https://www.tradingview.com/symbols/BTCUSD/) here.


