# Introduction

Token Negotiator is an open source, framework-agnostic Javascript library that enables you create web3 experiences for users around the tokens, collectibles, coins and attestations they hold.&#x20;

**Key features:**

* Ability to read and authenticate tokens from both on and off chain sources
* Customisable user interface and theme
* Smart Contract integration capability
* Support for all major technologies in Blockchain and off chain technologies
* Compatible with any framework and stlye of application

**What can I create?**

* Token Gated solutions
* Tokenized games
* E-commerce and reward based experiences&#x20;
* Web2 to Web3 on-boarding
* Multi-blockchain projects &#x20;
* TokenScript [https://www.tokenscript.org](https://www.tokenscript.org/) and Smart Layer enabled projects <https://www.smartlayer.network>

**How does it integrate?**

Token Negotiator is installed into a website front end, providing the ability for users to connect to a wallet and utilise their tokens.

With the token meta, new experiences can be crafted around the tokens a user holds.&#x20;

For secure applications, due to the decentralised nature of web3 technology authentication (proof of ownership of tokens) can be made via a backend feature provided or your own solution (confirming on chain directly for example).

**Learning:**

This library has been designed with ease-of-use and flexibility in mind to build tokenised solutions.&#x20;

#### Join the Community

Please join us on [discord](https://discord.com/invite/CfvmYFyujW).


---

# 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://tokenscript.gitbook.io/token-negotiator/introduction.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.
