# dACP tools

There are various tools that help developers interact with the protocol. Depending on the use case, you can choose the tool that fits the best with the project you are building.

### Core components

These consist of four main components: the Core SDK, the Contracts SDK, the Subgraph and the Data Storage SDK. The Core SDK provides a single abstraction for interacting with any of the other components; developers can use this as a single dependency to perform read/write operations to the protocol itself, query the Subgraph for rich data, as well as leveraging the Data Storage SDK to store/read data in IPFS. The latter is implemented in an abstract manner so as to allow developers to use the data storage solution of their choosing.

Various other packages and SDKs form parts of these core components; a metadata schema package exists to enable the definition of new metadata formats for offers on Boson Protocol while other helper packages provide common type definitions, a standardised way of rendering a contractual agreement between exchange parties, and more.

### dACP contracts layer

Boson Protocol is a modular, upgradable protocol whose purpose is to enable the tokenization, transfer and trade of any physical thing as a redeemable NFT.

It is based on the diamond EIP-2535 standard, which enables a single point-of-entry to its multitude of functionalities, as well as upgradeability and other benefits.

Latest deployment of contracts on various networks can be found at <https://github.com/bosonprotocol/boson-protocol-contracts/blob/main/addresses/>.

The Boson DAO will secure an admin role for upgrades in a multisig wallet and use proposals and voting for improvements.

### MCP server

### Widget

If you want to integrate the allow buyers to commit and redeem directly on your page, the Commit and Redemption widgets allow you to do it with a few lines of code. Using widget handles only the two steps of the seller and buyer flow, so for the full protocol integration you still need to use other resources.


---

# 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.bosonprotocol.io/using-the-protocol/dacp-tools.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.
