# Manifest

## Plugin Manifest

Make sure the plugin manifest file is accessible at `/.well-known/ai-plugin.json` on your domain. The URL should be similar to:

```
https://your-service/.well-known/ai-plugin.json
```

## OpenAPI Bitte Extension

We have created an extension for the OpenAPI specification that allows you to include additional metadata.

```json
"x-mb": {
  "account-id": "bitte.near",
  "email": "your@email.xyz",
  "assistant": {
    "name": "agent-name",
    "description": "Shorter summary about the agent and it's capabilities",
    "instructions": "Detailed, specific instructions to be passed to AI Agent on it's funcitonality and tool usage.",
    "tools": [{ type: "generate-transaction" }, { type: "submit-query" }],
    // optional fields (recommended)
    "repo": "https://github.com/user-or-org/agent-project/",
    "image": "https://agent-image.example",
    "categories": ["tags","for","your","agent"],
    "chainIds": [1,8453],
    "version": "0.1.27"
  }
}
```



### Account ID (account-id)

• Description: Specifies the account ID associated with the plugin. This is typically the account ID on the NEAR blockchain that identifies the owner or operator of the API.

• Example: bitte.near

### Agent Configuration (assistant)

Provides the configuration for the agent that will guide the user in interacting with the API. This section includes details about its behavior, and the tools it can use.

> **name**

Instructions provided to the agent define its role or behavior. This helps tailor the agent’s responses according to specific requirements.

Example: "Weather Agent"

> #### **description**

A general summary of the agent's functionalities and tools / endpoints.

> #### **instructions**

Instructions provided to the agent define its role or behavior. This helps tailor the agent’s responses according to specific requirements.

Example: "You are a helpful agent. When using the get-weather tool make sure to know or ask for the user's location."

> #### **tools**

A list of tools that the agent can use. Each tool is defined by its type and possibly other configurations.

**Tool Type**\
The type of tool that the agent can use. You can add any amount of primitives tools, by their name

1. generate-transaction - Render a Near transaction payload for the user to review and sign.
2. generate-evm-tx - Generate or format an EVM transaction payload for review in the UI.
3. generate-sui-tx - Create a Sui transaction payload for validation and signing.
4. submit-query - Generate and submit GraphQL queries to fetch data from the Mintbase Graph API.
5. transfer-ft - Create fungible token transfer transactions on NEAR blockchain.
6. generate-image - Generate images based on text prompts.
7. get-portfolio - Retrieve portfolio information for blockchain accounts.
8. sign-message - Create a message signing request for blockchain wallets.
9. render-chart - Generate and render data visualizations and charts.
10. get-swap-transactions - Get token swap transaction data from Ref Finance on NEAR.
11. get-token-metadata - Retrieve metadata for tokens on the NEAR blockchain.
12. get-sui-balances - Get token balances for a Sui blockchain address.
13. sui-lst - Mint or redeem sSUI tokens using Spring protocol on Sui blockchain.
14. aftermath-sui-swap - Execute token swaps on the Aftermath DEX on Sui blockchain.

> #### image

Image URL for your agent (recommended: 256x256px or 512x512px square)

> categories

Array of tags that categorize your agent.&#x20;

Example: \["DeFi", "Meme", "Investing"]

> chainIds

Array of evm chains your agent operates in. This makes it easier for other people to find your agent and adds context to the LLMs.

Example: \[1, 100, 8453, 42161]

> version

Track the version of your agent.

Example: "1.0.2"
