open-index/open-npm huggingface dataset:
npm package: @goalswon/cli
Description: GoalsWon CLI — manage goals, targets, and chat from the terminal
Latest version: 0.1.3

# @goalswon/cli

Manage your GoalsWon goals, targets, and chat from the terminal.

## Install

```bash
npm install -g @goalswon/cli
```

Or run directly:

```bash
npx @goalswon/cli
```

## Setup

1. Get an API key at [app.goalswon.com](https://app.goalswon.com) > Settings > API Access
2. Login:
   ```bash
   goalswon auth login YOUR_API_KEY
   ```

## Commands

### Auth
```bash
goalswon auth login <key>     # Save API key
goalswon auth status          # Check who you're logged in as
goalswon auth config          # Show config path and API URL
goalswon health               # Check API connectivity
```

### Goals
```bash
goalswon goals list --today                    # Today's goals
goalswon goals list --yesterday                # Yesterday's goals
goalswon goals list --tomorrow                 # Tomorrow's goals
goalswon goals list --date 2026-03-27          # Specific date
goalswon goals list --status done              # Filter by status
goalswon goals create "Exercise" --today --tag 2
goalswon goals create "Plan week" --tomorrow
goalswon goals create "Done task" --today --status done  # Create as already completed
goalswon goals complete <id>                   # Mark as done
goalswon goals complete <id> --status partial  # Mark as partial
goalswon goals complete recurring_abc --date 2026-03-26  # Complete recurring goal on a specific day
goalswon goals delete <id>
goalswon goals recurring                       # List recurring templates
```

### Days
```bash
goalswon days list                             # Recent days
goalswon days list --from 2026-03-01 --to 2026-03-31
goalswon days show --today                     # Today's detail with goals
goalswon days show --yesterday                 # Yesterday
goalswon days show 20260327                    # Specific date
```

### Targets
```bash
goalswon targets list --month 202603           # March targets
goalswon targets create "Read 3 books" --month 202603
```

### Chat
```bash
goalswon chat list                             # Recent messages
goalswon chat list --search "meeting"          # Search
goalswon chat send "Hello!" --client <id>      # Send (coaches)
```

### Clients (coaches only)
```bash
goalswon clients list                          # All clients
goalswon clients list --type premium           # Filter by type
goalswon clients summary <id>                  # Full client summary
```

### Progress
```bash
goalswon progress                              # Last 30 days
goalswon progress --from 2026-01-01 --to 2026-03-31
```

## License

MIT
npm package: @goalswon/mcp-server
Description: GoalsWon MCP server — connect AI assistants to your GoalsWon account
Latest version: 0.1.2

# @goalswon/mcp-server

Connect AI assistants (Claude, Cursor, Gemini, etc.) to your GoalsWon data via the [Model Context Protocol](https://modelcontextprotocol.io).

## Quick Start

### With Claude Code

```bash
claude mcp add goalswon -- npx @goalswon/mcp-server
```

Then set your API key as an environment variable:

```bash
export GOALSWON_API_KEY=gw_your_key_here
```

### Manual Setup

```bash
npx @goalswon/mcp-server
```

**Required environment variables:**

| Variable | Description |
|----------|-------------|
| `GOALSWON_API_KEY` | Your GoalsWon API key (generate at Settings > API Access) |
| `GOALSWON_API_URL` | API base URL (default: `https://api.goalswon.com`) |

## Available Tools (39)

**Read:**

| Tool | Description |
|------|-------------|
| `get_profile` | Your profile, coach name, and counters |
| `list_goals` | List goals by date and status |
| `get_goal` | Get a single goal |
| `get_day` | Day detail with goals and summary |
| `list_days` | List day submissions |
| `list_months` | List month submissions |
| `get_month` | Month detail with targets |
| `list_targets` | Monthly targets by month and status |
| `get_target` | Get a single target |
| `list_yearly_targets` | Yearly targets with reflections |
| `get_yearly_target` | Yearly target with linked monthly targets |
| `list_inbox` | Inbox items |
| `list_milestones` | Milestones |
| `list_recurring_goals` | Recurring goal templates |
| `get_recurring_goal` | Single recurring goal detail |
| `get_progress` | Completion rates, streaks, and trends |
| `search_chat` | Search chat message history |

**Write:**

| Tool | Description |
|------|-------------|
| `create_goal` | Create a goal |
| `update_goal` | Update a goal |
| `complete_goal` | Mark done, partial, or pending. Accepts `date` for recurring goals. |
| `delete_goal` | Delete a goal |
| `create_recurring_goal` | Create a recurring goal |
| `update_recurring_goal` | Update a recurring goal |
| `delete_recurring_goal` | Delete a recurring goal |
| `create_target` | Create a monthly target |
| `update_target` | Update a monthly target |
| `delete_target` | Delete a monthly target |
| `create_yearly_target` | Create a yearly target |
| `update_yearly_target` | Update a yearly target |
| `delete_yearly_target` | Delete a yearly target |
| `create_inbox_item` | Add to inbox |
| `update_inbox_item` | Update an inbox item |
| `schedule_inbox_item` | Convert inbox item to a goal |
| `delete_inbox_item` | Delete an inbox item |
| `submit_day` | Submit a day — rolls undone goals to next day |
| `unsubmit_day` | Unsubmit a day — deletes rolled goals. Use before modifying submitted days. |
| `submit_month` | Submit a month's results |
| `unsubmit_month` | Unsubmit a month |
| `send_message` | Send a chat message |

## Get an API Key

1. Go to [app.goalswon.com](https://app.goalswon.com)
2. Settings > API Access
3. Enable Read access (and Write/Chat if needed)
4. Generate a key

## License

MIT
npm package: @goapptiv-code/bluedart-tracking-web-component
Description: GoApptiv Bluedart tracking web component
Latest version: 1.0.6

# GoApptiv Bluedart Tracking Web Component

Bluedart Tracking Component is a web component to track blue dart shipment using the cloud function API.

## Installation

Install the web component using npm

```npm
npm i @goapptiv-code/bluedart-tracking-web-component
```

Add the following keys to your environment variables. You can deploy your own cloud function and add the url

```env
GOAPPTIV_BLUEDART_TRACKING_API=
```

[Bluedart Tracking JSON API Cloud Function](https://github.com/sagarv1997/bluedart-tracking-json-api-nodejs-cf)

## Usage

You can directly start using the web component. Just pass the tracking number in the properties.

This web component takes care of loading and invalid details also.

Checkpoints are optional.

```html
<bluedart-tracking-component tracking-number="75484923054" checkpoints="true" />
```

## Screenshot

![Screenshot](screens/success.png)

![Screenshot](screens/error.png)

## Integration with ReactJS

With an application built using the create-react-app script the easiest way to include the component library is to call defineCustomElements() from the index.js file. Note that in this scenario applyPolyfills is needed if you are targeting Edge or IE11.

```js
import React from "react";
import ReactDOM from "react-dom";
import "./index.css";

// Add the below import
import {
  applyPolyfills,
  defineCustomElements,
} from "@goapptiv-code/bluedart-tracking-web-component/loader";

...

applyPolyfills().then(() => {
  defineCustomElements();
});

```

[Stencil JS React Integration Guide](https://stenciljs.com/docs/react)
npm package: @goapptiv-code/kyc-web-components
Description: Stencil Component Starter
Latest version: 0.0.33

# KYC Updation components

This is web components package for kyc updation ui

## Getting Started

To start using this package, You just need to use its components.

```html
 <kyc-component></kyc-component>
```

It will access the logged in user details from updating kyc details. It can be configured in the env file.

Variables to be added in .env file

```env
STENCIL_APP_KYC_COMPONENT_API_URL = 
STENCIL_APP_KYC_COMPONENT_AUTH_HEADER = 
STENCIL_APP_KYC_COMPONENT_AUTH_TOKEN = 
STENCIL_APP_KYC_COMPONENT_AUTH_USER = 
STENCIL_APP_KYC_COMPONENT_IMAGE_UPLOAD_URL = 
STENCIL_APP_KYC_COMPONENT_IMAGE_URL = 
```
npm package: @goapptiv-code/wallet-web-components
Description: Stencil Component Starter
Latest version: 0.0.20

# Wallet components

This is web components package for wallet ui

## Getting Started

To start using this package, You just need to use its components.

```html
<wallet-component> </wallet-component>
```

It will access the logged in user details from the LocalStorage of the browser. it can be configured in the env file.

Variables to be added in .env file

```env
REACT_APP_WALLET_COMPONENT_API_URL = 
REACT_APP_WALLET_COMPONENT_AUTH_HEADER = 
REACT_APP_WALLET_COMPONENT_AUTH_TOKEN = 
REACT_APP_WALLET_COMPONENT_AUTH_USER = 
```
npm package: @goaround/litepicker
Description: Date range picker - lightweight, no dependencies
Author: Rinat G.
Latest version: 2.0.14
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

[![npm version](https://badge.fury.io/js/litepicker.svg)](https://www.npmjs.com/package/litepicker) [![Build Status](https://travis-ci.org/wakirin/Litepicker.svg?branch=master)](https://travis-ci.org/wakirin/Litepicker) [![license](https://img.shields.io/github/license/mashape/apistatus.svg)](https://github.com/wakirin/Litepicker/blob/master/README.md)

Litepicker
=========

Date range picker - lightweight, no dependencies

## Features
* No dependencies
* Single date or date range
* Show multiple months
* Min/Max days for select and/or Min/Max dates for select
* Select forward/backward
* Inline mode
* Repick date range
* Lock days  
* Keyboard accessibility (with plugin)
* Mobile friendly (with plugin)
* Predefined ranges (with plugin)
* Multiple select (with plugin)
  
See more details in docs.

# [Documentation](https://litepicker.com)

## Compatibility

##### Desktop
- IE 11 (required [polyfills](https://github.com/wakirin/litepicker-polyfills-ie11))
- Edge 17+
- Chrome 60+
- Firefox 52+
- Safari 10.1+
- Opera 48+

##### Mobile
- iOS 10+
  - Safari
  - Chrome
- Android 7+
  - Chrome
  - Firefox
  - Samsung Browser
  - UC Browser

## Plugins
* [keyboardnav](https://litepicker.com/docs/plugins/keyboardnav/) - adds keyboard navigation.
* [mobilefriendly](https://litepicker.com/docs/plugins/mobilefriendly/) - adds swipes (left/right) to switch months.
* [ranges](https://litepicker.com/docs/plugins/ranges/) - adds predefined ranges.
* [multiselect](https://litepicker.com/docs/plugins/multiselect/) - adds multiple selection.

## See also:
* [Drupal module](https://www.drupal.org/project/date_range_picker) by [kviolka](https://github.com/kviolka)
* [Wordpress Ninja forms](https://github.com/soderlind/date-range-ninja-forms) by [soderlind](https://github.com/soderlind)
* [ember-litepicker](https://github.com/sinankeskin/ember-litepicker) by [sinankeskin](https://github.com/sinankeskin)

## Supporting Litepicker
[![](https://github.com/wakirin/Litepicker/blob/gh-pages/assets/images/coffee.png?raw=true)](https://ko-fi.com/wakirin)

## Tested on real browsers
Tested on real browsers via BrowserStack.  
Thanks to the BrowserStack for supporting the open-source projects.  

[![](https://github.com/wakirin/Litepicker/blob/gh-pages/assets/images/Browserstack-logo.png?raw=true)](https://www.browserstack.com/)
npm package: @goast/core
Description: A tool designed to transform OpenAPI specifications into various forms with flexibility and extensibility at its core.
Author: Marc Schmidt
Latest version: 0.5.0

# gOAst (@goast/core)

[![@goast/core NPM Version](https://img.shields.io/npm/v/%40goast%2Fcore?logo=npm&label=%40goast%2Fcore)](https://www.npmjs.com/package/@goast/core)
[![@goast/core JSR Version](https://img.shields.io/jsr/v/%40goast%2Fcore?logo=jsr&label=%40goast%2Fcore)](https://jsr.io/@goast/core)

**gOAst** stands for **g**enerative **O**pen **A**PI **s**pecification **t**ransformer, a tool designed to transform
OpenAPI specifications into various forms with flexibility and extensibility at its core.

For more Information, please visit the [gOAst GitHub Repository](https://github.com/MaSch0212/goast/blob/main).

## Purpose 👍

The `@goast/core` package provides:

- entry points for using the **gOAst** library
- base classes for creating custom generators
- utilities for parsing and transforming OpenAPI specifications

## Usage Example 🚀

```typescript
import { OpenApiGenerator } from '@goast/core';

class MyGenerator implements OpenApiGenerationProvider {
  generate(
    context: OpenApiGeneratorContext<OpenApiGeneratorInput>,
    config?: Partial<Readonly<Record<string, unknown>>>,
  ): Record<string, unknown> {
    // Do something
    return {};
  }
}

async function main() {
  const generator = new OpenApiGenerator()
    // Add a generator using a class
    .useType(MyGenerator)
    // Add a generator using a function
    .useFn((ctx, cfg) => {
      // Do the generation
      return {}; // Return information about the generated files so it can be used by other generators
    })
    // Add a generator using an object implementing `OpenApiGenerationProvider`
    .useValue({ generate: (ctx, cfg) => ({}) });

  // Generate for one of more OpenAPI specification files
  await generator.parseAndGenerate('path/to/openapi.json', 'path/to/another/openapi.yaml');

  // Alternatively, you can generate output for all specifications in a directory.
  // By default, it will only consider files within the directory (non-recursively) with the extensions: .json, .yaml, .yml.
  await generator.parseAndGenerateFromDir('path/to/openapi/specs');
}

main();
```

## Available Generator Packages 📚

[![@goast/typescript NPM Version](https://img.shields.io/npm/v/%40goast%2Ftypescript?logo=npm&label=%40goast%2Ftypescript)](https://www.npmjs.com/package/@goast/typescript)
[![@goast/kotlin NPM Version](https://img.shields.io/npm/v/%40goast%2Fkotlin?logo=npm&label=%40goast%2Fkotlin)](https://www.npmjs.com/package/@goast/kotlin)
<br>
[![@goast/typescript JSR Version](https://img.shields.io/jsr/v/%40goast%2Ftypescript?logo=jsr&label=%40goast%2Ftypescript)](https://jsr.io/@goast/typescript)
[![@goast/kotlin JSR Version](https://img.shields.io/jsr/v/%40goast%2Fkotlin?logo=jsr&label=%40goast%2Fkotlin)](https://jsr.io/@goast/kotlin)

## API Documentation 📖

The API documentation can be found [here](https://github.com/MaSch0212/goast/wiki).
npm package: @goast/kotlin
Description: Provides gOAst generators for generating Kotlin code from OpenAPI specifications.
Author: Marc Schmidt
Latest version: 0.5.3

# gOAst (@goast/kotlin)

[![@goast/kotlin NPM Version](https://img.shields.io/npm/v/%40goast%2Fkotlin?logo=npm&label=%40goast%2Fkotlin)](https://www.npmjs.com/package/@goast/kotlin)
[![@goast/kotlin JSR Version](https://img.shields.io/jsr/v/%40goast%2Fkotlin?logo=jsr&label=%40goast%2Fkotlin)](https://jsr.io/@goast/kotlin)

**gOAst** stands for **g**enerative **O**pen **A**PI **s**pecification **t**ransformer, a tool designed to transform
OpenAPI specifications into various forms with flexibility and extensibility at its core.

For more Information, please visit the [gOAst GitHub Repository](https://github.com/MaSch0212/goast/blob/main).

## Purpose 👍

The `@goast/kotlin` package provides generators for [Kotlin](https://kotlinlang.org/) code generation from OpenAPI
specifications.

## Usage Example 🚀

```typescript
import { OpenApiGenerator } from '@goast/core';
import { KotlinModelsGenerator, KotlinSpringControllersGenerator } from '@goast/kotlin';

async function main() {
  await new OpenApiGenerator({ outputDir: '.api' })
    .useType(KotlinModelsGenerator)
    .useType(KotlinSpringControllersGenerator)
    .parseAndGenerateFromDir('.openapi');
}

main();
```

## Available Generators 📚

- [`KotlinModelsGenerator`](https://github.com/MaSch0212/goast/wiki/Kotlin%20Models%20Generator): Generates Kotlin data
  classes from schemas in the OpenAPI specification(s).
- [`KotlinSpringControllersGenerator`](https://github.com/MaSch0212/goast/wiki/Kotlin%20Spring%20Controllers%20Generator):
  Generates [Spring](https://spring.io/) controllers for Kotlin from paths in the OpenAPI specification(s).
  - Depends on the output of the `KotlinModelsGenerator` generator.
- [`KotlinOkHttp3ClientsGenerator`](https://github.com/MaSch0212/goast/wiki/Kotlin%20OkHttp3%20Clients%20Generator):
  Generates [OkHttp3](https://square.github.io/okhttp/) clients for Kotlin from paths in the OpenAPI specification(s).
  - Depends on the output of the `KotlinModelsGenerator` generator.

## API Documentation 📖

The API documentation can be found [here](https://github.com/MaSch0212/goast/wiki/Kotlin%20Generators).
npm package: @goastian/crypto-data
Description: Crypto Database
Author: Midori Wallet
Latest version: 2.1.31

# Crypto Data

## Install

```bash
npm i @goastian/crypto-data
```

## Usage

```js
// import all crypto in NodeJS
import cryptoDB from '@goastian/crypto-data';

// import single file in webpack
// https://webpack.js.org/concepts/module-resolution/#module-paths
import bitcoin from '@goatian/crypto-data/crypto/bitcoin@bitcoin.json';
```
npm package: @goastian/monero-core-js
Description: JS library for creating Monero transactions
Author: Midori Wallet
Latest version: 0.3.0

# Monero Core JS

JS library for creating Monero transactions.

## Development

```
docker-compose build
docker-compose up -d
docker exec -it monero-core-js_emscripten_1 cp -r /src/build /app
docker exec -it monero-core-js_emscripten_1 ./bin/build-emcpp.sh

npm install
npm test
```

## Debug in Chrome Console

Install https://goo.gle/wasm-debugging-extension and set Path substitutions in extension options:
```
Module: MoneroCoreJS.wasm
/app
[path_to_monero_core_js]
```

```
npm run serve
npm run serve:wasm
# Open Chrome Console => Sources => file:// => add break point
```
npm package: @goastian/mw-bitcoin-wallet
Description: Bitcoin Wallet for Midori Wallet
Author: Midori Wallet
Latest version: 1.3.1

# mw-bitcoin-wallet

Bitcoin wallet for [Midori Wallet](https://github.com/midoriwallet/midoriwallet).

Supported forks:
- Bitcoin Cash
- Dash
- Dogecoin
- Litecoin
npm package: @goastian/mw-evm-wallet
Description: EVM Wallet for Midori Wallet
Author: Midori Wallet
Latest version: 1.9.3

# mw-evm-wallet

EVM wallet for [Midori Wallet](https://github.com/midoriwallet/mw-evm-wallet).

Supported coins:
- Arbitrum One
- Avalanche
- Base
- Binance Smart Chain
- Ethereum
- Ethereum Classic
- Fantom
- Optimism
- Polygon
npm package: @goastian/stylelint-config-midoriwallet
Description: Midori Wallet shared stylelint config
Author: Midori Wallet
Latest version: 0.0.1

# stylelint-config-mw

[![Build](https://github.com/midoriwallet/stylelint-config-mw/actions/workflows/ci.yml/badge.svg)](https://github.com/midoriwallet/stylelint-config-mw/actions/workflows/ci.yml)
[![Downloads](https://img.shields.io/npm/dm/stylelint-config-mw)](https://www.npmjs.com/package/stylelint-config-mw)
[![Version](https://img.shields.io/npm/v/stylelint-config-mw?label=version)](https://www.npmjs.com/package/stylelint-config-mw)
[![License](https://img.shields.io/github/license/midoriwallet/stylelint-config-mw?color=blue)](https://github.com/midoriwallet/stylelint-config-mw/blob/master/LICENSE)

Midori Wallet shared stylelint config.
npm package: @goat-cli/fractal-twig-adapter
Description: Twig template adapter for Fractal with Drupal 8 directives.
Author: WONDROUS
Latest version: 1.4.0
Deprecated: Moved to https://www.npmjs.com/package/@geit/fractal-twig-adapter

# Twig Adapter

An adapter to let you use [Twig](https://github.com/twigjs/twig.js) templates with [Fractal](http://github.com/frctl/fractal). Forked from [wearewondrous/fractal-twig-drupal-adapter](https://github.com/wearewondrous/fractal-twig-drupal-adapter)

## Installation

```bash
$ npm install --save @goat-cli/fractal-twig-adapter
```

in your `fractal.js`

```js
const fractal = require('@frctl/fractal').create();
const twigAdapter = require('@goat-cli/fractal-twig-adapter');
const twig = twigAdapter({
  nameSpaces: {
    atoms: '01-atoms',
    molecules: '02-molecules',
    organisms: '03-organisms',
    templates: '04-templates',
    pages: '05-pages',
  },
});

fractal.components.engine(twig);
fractal.components.set('ext', '.twig'); 
```

## Usage

This adapter allows you to use some Drupal filters, functions and tags.

### Supported Filters

`|t` - The Drupal core translation filter. Additional parameters not supported, yet.

`|field_value` - Provided by the module [drupal/twig_field_value](https://www.drupal.org/projects/twig_field_value) to use plain outputs from a field.

#### Add Custom Filters, functions, tests and tags

You have the ability to extend Twig with custom filters, functions, tests and tags by passing a function to the twig adapter as follows:

```js
const twig = twigAdapter({
  filters: {
    render(str) {
      return str;
    }
  }
});
```
 For example the a filter: the name of the function will be used as the filter name (eg: `|render`).

### Supported Functions

`path()` - The Drupal core path function.

`url()` - The Drupal core url function.

`block_view()` - Provided by the module [drupal/twig_extender](https://www.drupal.org/projects/twig_extender) to directly print a block.

### Supported tags

`{% trans %}` - The Drupal core translate tag.

## Original Creator

[WONDROUS](https://www.wearewondrous.com/)

[MIT License](LICENSE)
npm package: @goat-it/schemas
Description: Shared types, constants and Zod schemas for the Goat It projects.
Author: Antoine ZANARDI
Latest version: 0.0.7

# ♑ @goat-it/schemas

Shared TypeScript types, Zod schemas and constants used across the Goat It projects.

This package is a small, framework‑agnostic collection of DTO shapes, value‑object constants and Zod validators. It is published as an ES module with bundled type definitions.

## 🌟 Quick facts

- Package: `@goat-it/schemas`
- Built output: `dist/`
- Entry points exported:
  - `./question`
  - `./question-theme`
  - `./shared/locale`
  - `./shared/error`
  - `./shared/constants`
- Peer dependency: `zod` (match workspace version)

## 🔧 Usage

Import the package (example):

```ts
// Importing types
import type { QuestionDto } from "@goat-it/schemas/question";

// Importing Zod schemas
import { QUESTION_THEME_CREATION_DTO } from "@goat-it/schemas/question-theme";

// Importing locale constants
import { LOCALES } from "@goat-it/schemas/shared/locale";

// Importing error DTOs and types
import { API_RESPONSE_EXCEPTION_DTO } from "@goat-it/schemas/shared/error";
import type { ApiResponseExceptionDto } from "@goat-it/schemas/shared/error";

// Importing shared constants
import { LOCALIZED_TEXT_ENTRY_MAX_LENGTH, SLUG_MIN_LENGTH } from "@goat-it/schemas/shared/constants";

// Importing question-specific constants
import { QUESTION_AUTHOR_NAME_MIN_LENGTH, QUESTION_STATUS_PENDING } from "@goat-it/schemas/question";
```

## 📝 Notes

- The package ships compiled ES modules under `dist/` and `.d.mts` type definitions.
- The package uses `tsdown` to generate the `dist/` layout — the `build` script runs `tsdown`.
- Ensure the caller project has `zod` installed as a peer dependency, matching the version used in this package.

## ©️ License

MIT — See [LICENSE](LICENSE) for details.
npm package: @goat-sdk/adapter-eleven-labs
Description: <div align="center"> <a href="https://github.com/goat-sdk/goat">
Latest version: 0.2.10

<div align="center">
<a href="https://github.com/goat-sdk/goat">

<img src="https://github.com/user-attachments/assets/5fc7f121-259c-492c-8bca-f15fe7eb830c" alt="GOAT" width="100px" height="auto" style="object-fit: contain;">
</a>
</div>

# Eleven Labs Adapter for GOAT

Integrate the more than +200 onchain tools of GOAT with [Eleven Labs](https://elevenlabs.io).

## Installation
```
npm install @goat-sdk/adapter-eleven-labs
yarn add @goat-sdk/adapter-eleven-labs
pnpm add @goat-sdk/adapter-eleven-labs
```

## Usage

See a full working example [here](https://github.com/goat-sdk/goat/tree/main/typescript/examples/by-framework/eleven-labs).

```ts
import { getOnChainTools } from "@goat-sdk/adapter-eleven-labs";

const tools = await getOnChainTools({
    wallet: // your wallet
    plugins: // your plugins
});

// ...

// Start the conversation with your agent
await conversation.startSession({
    agentId: process.env.NEXT_PUBLIC_ELEVEN_LABS_AGENT_ID ?? "",
    clientTools: tools,
});
```

<footer>
<br/>
<br/>
<div>
<a href="https://github.com/goat-sdk/goat">
  <img src="https://github.com/user-attachments/assets/4821833e-52e5-4126-a2a1-59e9fa9bebd7" alt="GOAT" width="100%" height="auto" style="object-fit: contain; max-width: 800px;">
</a>
<div>
</footer>
npm package: @goat-sdk/adapter-eliza
Description: <div align="center"> <a href="https://github.com/goat-sdk/goat">
Latest version: 0.2.9

<div align="center">
<a href="https://github.com/goat-sdk/goat">

<img src="https://github.com/user-attachments/assets/5fc7f121-259c-492c-8bca-f15fe7eb830c" alt="GOAT" width="100px" height="auto" style="object-fit: contain;">
</a>
</div>

# Eliza Adapter for GOAT

Integrate the more than +200 onchain tools of GOAT with [Eliza](https://elizaos.ai).

## Installation
```
npm install @goat-sdk/adapter-eliza
yarn add @goat-sdk/adapter-eliza
pnpm add @goat-sdk/adapter-eliza
```

## Usage

See a full working example [here](https://github.com/goat-sdk/goat/tree/main/typescript/examples/by-framework/eliza).

<footer>
<br/>
<br/>
<div>
<a href="https://github.com/goat-sdk/goat">
  <img src="https://github.com/user-attachments/assets/4821833e-52e5-4126-a2a1-59e9fa9bebd7" alt="GOAT" width="100%" height="auto" style="object-fit: contain; max-width: 800px;">
</a>
<div>
</footer>
npm package: @goat-sdk/adapter-langchain
Description: <div align="center"> <a href="https://github.com/goat-sdk/goat">
Latest version: 0.2.12

<div align="center">
<a href="https://github.com/goat-sdk/goat">

<img src="https://github.com/user-attachments/assets/5fc7f121-259c-492c-8bca-f15fe7eb830c" alt="GOAT" width="100px" height="auto" style="object-fit: contain;">
</a>
</div>

# Langchain Adapter for GOAT

Integrate the more than +200 onchain tools of GOAT with [Langchain](https://langchain.com).

## Installation
```
npm install @goat-sdk/adapter-langchain
yarn add @goat-sdk/adapter-langchain
pnpm add @goat-sdk/adapter-langchain
```

## Usage

See a full working example [here](https://github.com/goat-sdk/goat/tree/main/typescript/examples/by-framework/langchain).

```ts
import { getOnChainTools } from "@goat-sdk/adapter-langchain";

const tools = await getOnChainTools({
    wallet: // your wallet
    plugins: // your plugins
});

const llm = new ChatOpenAI({
    model: "gpt-4o-mini",
});

const prompt = await pull<ChatPromptTemplate>("hwchase17/structured-chat-agent");

const agent = await createStructuredChatAgent({
    llm,
    tools,
    prompt,
});

const agentExecutor = new AgentExecutor({
    agent,
    tools,
});

const response = await agentExecutor.invoke({
    input: "Your prompt here",
});
```

<footer>
<br/>
<br/>
<div>
<a href="https://github.com/goat-sdk/goat">
  <img src="https://github.com/user-attachments/assets/4821833e-52e5-4126-a2a1-59e9fa9bebd7" alt="GOAT" width="100%" height="auto" style="object-fit: contain; max-width: 800px;">
</a>
<div>
</footer>
npm package: @goat-sdk/adapter-llamaindex
Description: <div align="center"> <a href="https://github.com/goat-sdk/goat">
Latest version: 0.2.8

<div align="center">
<a href="https://github.com/goat-sdk/goat">

<img src="https://github.com/user-attachments/assets/5fc7f121-259c-492c-8bca-f15fe7eb830c" alt="GOAT" width="100px" height="auto" style="object-fit: contain;">
</a>
</div>

# Goat Adapter for Llamaindex
## Installation
```
npm install @goat-sdk/adapter-llamaindex
yarn add @goat-sdk/adapter-llamaindex
pnpm add @goat-sdk/adapter-llamaindex
```

<footer>
<br/>
<br/>
<div>
<a href="https://github.com/goat-sdk/goat">
  <img src="https://github.com/user-attachments/assets/4821833e-52e5-4126-a2a1-59e9fa9bebd7" alt="GOAT" width="100%" height="auto" style="object-fit: contain; max-width: 800px;">
</a>
</div>
</footer>
npm package: @goat-sdk/adapter-mastra
Description: <div align="center"> <a href="https://github.com/goat-sdk/goat">
Latest version: 0.1.1

<div align="center">
<a href="https://github.com/goat-sdk/goat">

<img src="https://github.com/user-attachments/assets/5fc7f121-259c-492c-8bca-f15fe7eb830c" alt="GOAT" width="100px" height="auto" style="object-fit: contain;">
</a>
</div>

# Mastra AI SDK Adapter for GOAT

Integrate the more than +200 onchain tools of GOAT with Mastra AI SDK.

## Installation
```
npm install @goat-sdk/adapter-mastra
yarn add @goat-sdk/adapter-mastra
pnpm add @goat-sdk/adapter-mastra
```

## Usage

See a full working example [here](https://github.com/goat-sdk/goat/tree/main/typescript/examples/by-framework/mastra).

```ts
import { getOnChainTools } from "@goat-sdk/adapter-mastra";

const tools = await getOnChainTools({
    wallet: // your wallet
    plugins: // your plugins
});

const result = await generateText({
    model: openai("gpt-4o-mini"),
    tools: tools,
    prompt: "Your prompt here",
});
```

<footer>
<br/>
<br/>
<div>
<a href="https://github.com/goat-sdk/goat">
    <img src="https://github.com/user-attachments/assets/59fa5ddc-9d47-4d41-a51a-64f6798f94bd" alt="GOAT" width="100%" height="auto" style="object-fit: contain; max-width: 800px;">

</a>
<div>
</footer>
npm package: @goat-sdk/adapter-model-context-protocol
Description: <div align="center"> <a href="https://github.com/goat-sdk/goat">
Latest version: 0.2.11

<div align="center">
<a href="https://github.com/goat-sdk/goat">

<img src="https://github.com/user-attachments/assets/5fc7f121-259c-492c-8bca-f15fe7eb830c" alt="GOAT" width="100px" height="auto" style="object-fit: contain;">
</a>
</div>

# Model Context Protocol Adapter for GOAT

Integrate the more than +200 onchain tools of GOAT with [Model Context Protocol](https://modelcontextprotocol.io).

## Installation
```
npm install @goat-sdk/adapter-model-context-protocol
yarn add @goat-sdk/adapter-model-context-protocol
pnpm add @goat-sdk/adapter-model-context-protocol
```

## Usage

See a full working example [here](https://github.com/goat-sdk/goat/tree/main/typescript/examples/by-framework/model-context-protocol).

<footer>
<br/>
<br/>
<div>
<a href="https://github.com/goat-sdk/goat">
  <img src="https://github.com/user-attachments/assets/4821833e-52e5-4126-a2a1-59e9fa9bebd7" alt="GOAT" width="100%" height="auto" style="object-fit: contain; max-width: 800px;">
</a>
<div>
</footer>
npm package: @goat-sdk/adapter-vercel-ai
Description: <div align="center"> <a href="https://github.com/goat-sdk/goat">
Latest version: 0.2.10

<div align="center">
<a href="https://github.com/goat-sdk/goat">

<img src="https://github.com/user-attachments/assets/5fc7f121-259c-492c-8bca-f15fe7eb830c" alt="GOAT" width="100px" height="auto" style="object-fit: contain;">
</a>
</div>

# Vercel AI SDK Adapter for GOAT

Integrate the more than +200 onchain tools of GOAT with [Vercel AI SDK](https://sdk.vercel.ai).

## Installation
```
npm install @goat-sdk/adapter-vercel-ai
yarn add @goat-sdk/adapter-vercel-ai
pnpm add @goat-sdk/adapter-vercel-ai
```

## Usage

See a full working example [here](https://github.com/goat-sdk/goat/tree/main/typescript/examples/by-framework/vercel-ai).

```ts
import { getOnChainTools } from "@goat-sdk/adapter-vercel-ai";

const tools = await getOnChainTools({
    wallet: // your wallet
    plugins: // your plugins
});

const result = await generateText({
    model: openai("gpt-4o-mini"),
    tools: tools,
    prompt: "Your prompt here",
});
```

<footer>
<br/>
<br/>
<div>
<a href="https://github.com/goat-sdk/goat">
  <img src="https://github.com/user-attachments/assets/4821833e-52e5-4126-a2a1-59e9fa9bebd7" alt="GOAT" width="100%" height="auto" style="object-fit: contain; max-width: 800px;">
</a>
<div>
</footer>
npm package: @goat-sdk/dpsn-plugin
Description: <div align="center"> <a href="https://github.com/goat-sdk/goat">
Latest version: 0.1.1

<div align="center">
<a href="https://github.com/goat-sdk/goat">

<img src="https://github.com/user-attachments/assets/5fc7f121-259c-492c-8bca-f15fe7eb830c" alt="GOAT" width="100px" height="auto" style="object-fit: contain;">
</a>
</div>

# Dpsn  Plugin for Goat SDK

This plugin enables goat-agents to  connect  , subscribe to, and interact with data streams available on the [DPSN Data Streams Store](https://streams.dpsn.org/).

Agents can leverage this plugin to consume real-time data for decision-making, reacting to events, or integrating external information feeds.

To provide personalized data streams for your agents, you can create and publish data into your own DPSN topics using the [dpsn-client for node](https://github.com/DPSN-org/dpsn-client-nodejs).

For more information, visit:
-   [DPSN Official Website](https://dpsn.org)

## ✨ Features

- **Seamless Integration**: Connect your GOAT agents to DPSN's decentralized pub/sub network
- **Real-time Data Processing**: Subscribe to and process real-time data streams in your agents
- **Topic Management**: Subscribe and unsubscribe to DPSN topics programmatically or through llm queries
- **Event-based Architecture**: Use event emitters to handle incoming messages efficiently

## Installation
```bash
npm install @goat-sdk/dpsn-plugin
yarn add @goat-sdk/dpsn-plugin
pnpm add @goat-sdk/dpsn-plugin
```

## Usage
```typescript
import { dpsnplugin } from '@goat-sdk/dpsn-plugin';
const dpsn_plugin=dpsnplugin({
        DPSN_URL: process.env.DPSN_URL,
        EVM_WALLET_PVT_KEY: process.env.EVM_WALLET_PVT_KEY
    });
    //Event listener setup to listen to messages on subscribing to dpsn topics.
     const DpsnDataStreamHandler=dpsn_plugin.DpsnDataStream;
     DpsnDataStreamHandler.on("message", (message: unknown) => {
        console.log("Received message from DPSN:", message);
        // Add your message processing logic here
    });
const tools = await getOnChainTools({
    wallet: // ...
    plugins: [
      dpsn_plugin
    ]
});
```

## Tools
* Subscribe to a dpsn topic
* Unsubscribe to a dpsn topic


<footer>
<br/>
<br/>
<div>
<a href="https://github.com/goat-sdk/goat">
  <img src="https://github.com/user-attachments/assets/59fa5ddc-9d47-4d41-a51a-64f6798f94bd" alt="GOAT" width="100%" height="auto" style="object-fit: contain; max-width: 800px;">
</a>
</div>
</footer>
npm package: @goat-sdk/plugin-0x
Description: <div align="center"> <a href="https://github.com/goat-sdk/goat">
Latest version: 0.1.11

<div align="center">
<a href="https://github.com/goat-sdk/goat">

<img src="https://github.com/user-attachments/assets/5fc7f121-259c-492c-8bca-f15fe7eb830c" alt="GOAT" width="100px" height="auto" style="object-fit: contain;">
</a>
</div>

# 0x GOAT Plugin

Get quotes and swap on [0x](https://0x.org/)

## Installation
```bash
npm install @goat-sdk/plugin-0x
yarn add @goat-sdk/plugin-0x
pnpm add @goat-sdk/plugin-0x
```

## Usage
```typescript
import { zeroEx } from '@goat-sdk/plugin-0x';

const tools = await getOnChainTools({
    wallet: // ...
    plugins: [
       zeroEx({
            apiKey: process.env.ZEROEX_API_KEY // Get it from: https://dashboard.0x.org/
       })
    ]
});
```

## Tools
* Get quote
* Swap tokens

<footer>
<br/>
<br/>
<div>
<a href="https://github.com/goat-sdk/goat">
  <img src="https://github.com/user-attachments/assets/59fa5ddc-9d47-4d41-a51a-64f6798f94bd" alt="GOAT" width="100%" height="auto" style="object-fit: contain; max-width: 800px;">
</a>
</div>
</footer>
npm package: @goat-sdk/plugin-1inch
Description: <div align="center"> <a href="https://github.com/goat-sdk/goat">
Latest version: 0.1.9

<div align="center">
<a href="https://github.com/goat-sdk/goat">

<img src="https://github.com/user-attachments/assets/5fc7f121-259c-492c-8bca-f15fe7eb830c" alt="GOAT" width="100px" height="auto" style="object-fit: contain;">
</a>
</div>

# 1inch GOAT Plugin

Get balances for different tokens for a wallet using the [1inch API](https://1inch.io/page-api/).

## Installation
```bash
npm install @goat-sdk/plugin-1inch
yarn add @goat-sdk/plugin-1inch
pnpm add @goat-sdk/plugin-1inch
```

## Usage
```typescript
import { oneInch } from '@goat-sdk/plugin-1inch';

const tools = await getOnChainTools({
    wallet: // ...
    plugins: [
       oneInch({
            apiKey: process.env.ONEINCH_API_KEY // Get it from: https://portal.1inch.dev
       })
    ]
});
```

## Tools
* Get balances

<footer>
<br/>
<br/>
<div>
<a href="https://github.com/goat-sdk/goat">
  <img src="https://github.com/user-attachments/assets/4821833e-52e5-4126-a2a1-59e9fa9bebd7" alt="GOAT" width="100%" height="auto" style="object-fit: contain; max-width: 800px;">
</a>
</div>
</footer>
npm package: @goat-sdk/plugin-allora
Description: <div align="center"> <a href="https://github.com/goat-sdk/goat">
Latest version: 0.1.7

<div align="center">
<a href="https://github.com/goat-sdk/goat">

<img src="https://github.com/user-attachments/assets/5fc7f121-259c-492c-8bca-f15fe7eb830c" alt="GOAT" width="100px" height="auto" style="object-fit: contain;">
</a>
</div>

# Allora GOAT Plugin

[Allora Network](https://allora.network) plugin for Goat. Allora Network is an AI-powered inference platform that delivers real-time, self-improving predictions and insights for various use cases. By aggregating and analyzing data from diverse sources—such as blockchain networks and off-chain APIs—Allora seamlessly provides low-latency, high-performance predictive analytics without requiring complex infrastructure. The platform's intuitive approach allows developers to focus on building intelligence-driven solutions, while Allora takes care of the heavy lifting behind the scenes.

## Installation

```
npm install @goat-sdk/plugin-allora
yarn add @goat-sdk/plugin-allora
pnpm add @goat-sdk/plugin-allora
```

## Setup
    
```typescript
import { allora } from '@goat-sdk/plugin-allora'

const plugin = allora({ 
    apiKey: process.env.ALLORA_API_KEY, // Get it from: https://allora.network/api-access
})
```

## Available Actions
1. Fetch price prediction for the given asset and timeframe.

<footer>
<br/>
<br/>
<div>
<a href="https://github.com/goat-sdk/goat">
  <img src="https://github.com/user-attachments/assets/4821833e-52e5-4126-a2a1-59e9fa9bebd7" alt="GOAT" width="100%" height="auto" style="object-fit: contain; max-width: 800px;">
</a>
</div>
</footer>
npm package: @goat-sdk/plugin-avnu
Description: <div align="center"> <a href="https://github.com/goat-sdk/goat">
Latest version: 0.1.4

<div align="center">
<a href="https://github.com/goat-sdk/goat">

<img src="https://github.com/user-attachments/assets/5fc7f121-259c-492c-8bca-f15fe7eb830c" alt="GOAT" width="100px" height="auto" style="object-fit: contain;">
</a>
</div>

# Avnu GOAT Plugin

Get quotes and swap on [Avnu](https://app.avnu.fi)

## Installation
```bash
npm install @goat-sdk/plugin-avnu
yarn add @goat-sdk/plugin-avnu
pnpm add @goat-sdk/plugin-avnu
```

## Usage
```typescript
import { avnu } from '@goat-sdk/plugin-avnu';

const tools = await getOnChainTools({
    wallet: // ...
    plugins: [
       avnu()
    ]
});
```

## Tools
* Swap tokens

<footer>
<br/>
<br/>
<div>
<a href="https://github.com/goat-sdk/goat">
  <img src="https://github.com/user-attachments/assets/4821833e-52e5-4126-a2a1-59e9fa9bebd7" alt="GOAT" width="100%" height="auto" style="object-fit: contain; max-width: 800px;">
</a>
</div>
</footer>
npm package: @goat-sdk/plugin-balancer
Description: <div align="center"> <a href="https://github.com/goat-sdk/goat">
Latest version: 0.1.15

<div align="center">
<a href="https://github.com/goat-sdk/goat">

<img src="https://github.com/user-attachments/assets/5fc7f121-259c-492c-8bca-f15fe7eb830c" alt="GOAT" width="100px" height="auto" style="object-fit: contain;">
</a>
</div>

# Balancer GOAT Plugin

Get quotes and swap on [Balancer](https://balancer.fi/)

## Installation
```bash
npm install @goat-sdk/plugin-balancer
yarn add @goat-sdk/plugin-balancer
pnpm add @goat-sdk/plugin-balancer
```

## Usage
```typescript
import { balancer } from '@goat-sdk/plugin-balancer';

const tools = await getOnChainTools({
    wallet: // ...
    plugins: [
       balancer({
            rpcUrl: process.env.RPC_URL,
       })
    ]
});
```

## Tools
* Swap tokens
* Add liquidity
* Remove liquidity

<footer>
<br/>
<br/>
<div>
<a href="https://github.com/goat-sdk/goat">
  <img src="https://github.com/user-attachments/assets/4821833e-52e5-4126-a2a1-59e9fa9bebd7" alt="GOAT" width="100%" height="auto" style="object-fit: contain; max-width: 800px;">
</a>
</div>
</footer>
npm package: @goat-sdk/plugin-balmy
Description: <div align="center"> <a href="https://github.com/goat-sdk/goat">
Latest version: 0.1.14

<div align="center">
<a href="https://github.com/goat-sdk/goat">

<img src="https://github.com/user-attachments/assets/5fc7f121-259c-492c-8bca-f15fe7eb830c" alt="GOAT" width="100px" height="auto" style="object-fit: contain;">
</a>
</div>

# Balmy GOAT Plugin 🐐

Allows you to create tools for interacting with the [Balmy](https://balmy.xyz/) protocol - a state-of-the-art DCA (Dollar Cost Average) protocol that enables users to DCA any ERC20 into any ERC20 with their preferred period frequency.

## Installation
```bash
npm install @goat-sdk/plugin-balmy
yarn add @goat-sdk/plugin-balmy
pnpm add @goat-sdk/plugin-balmy
```

## Usage

```typescript
import { balmy } from "@goat-sdk/plugin-balmy";

const tools = await getOnChainTools({
    wallet: // ...
    plugins: [
       balmy()
    ]
});
```

## Tools
- Get quote
- Execute swap

<footer>
<br/>
<br/>
<div>
<a href="https://github.com/goat-sdk/goat">
  <img src="https://github.com/user-attachments/assets/4821833e-52e5-4126-a2a1-59e9fa9bebd7" alt="GOAT" width="100%" height="auto" style="object-fit: contain; max-width: 800px;">
</a>
</div>
</footer>
npm package: @goat-sdk/plugin-betswirl
Description: <div align="center"> <a href="https://github.com/goat-sdk/goat">
Latest version: 0.1.2

<div align="center">
<a href="https://github.com/goat-sdk/goat">

<img src="https://github.com/user-attachments/assets/5fc7f121-259c-492c-8bca-f15fe7eb830c" alt="GOAT" width="100px" height="auto" style="object-fit: contain;">
</a>
</div>

# BetSwirl GOAT Plugin

The BetSwirl plugin offers a seamless way to interact with the [BetSwirl](https://www.betswirl.com) betting platform through GOAT. It includes tools for placing bets on games and retrieving bets information. The plugin ensures that all interactions are validated and processed securely, providing agents with a reliable betting experience.

## Installation
```bash
npm install @goat-sdk/plugin-betswirl
yarn add @goat-sdk/plugin-betswirl
pnpm add @goat-sdk/plugin-betswirl
```

## Usage
```typescript
import { betswirl } from '@goat-sdk/plugin-betswirl';

const tools = await getOnChainTools({
    wallet: // ...
    plugins: [
       betswirl(process.env.THEGRAPH_API_KEY) // Optional TheGraph API Key (rate limits applies). Get one from https://thegraph.com/studio/apikeys/
    ]
});
```

## Tools
* Flip a Coin
* Roll a Dice
* Spin a Roulette
* Get bets

<footer>
<br/>
<br/>
<div>
<a href="https://github.com/goat-sdk/goat">
  <img src="https://github.com/user-attachments/assets/4821833e-52e5-4126-a2a1-59e9fa9bebd7" alt="GOAT" width="100%" height="auto" style="object-fit: contain; max-width: 800px;">
</a>
</div>
</footer>
npm package: @goat-sdk/plugin-birdeye
Description: <div align="center"> <a href="https://github.com/goat-sdk/goat">
Latest version: 0.1.7

<div align="center">
<a href="https://github.com/goat-sdk/goat">

<img src="https://github.com/user-attachments/assets/5fc7f121-259c-492c-8bca-f15fe7eb830c" alt="GOAT" width="100px" height="auto" style="object-fit: contain;">
</a>
</div>

# Birdeye GOAT Plugin 🐐

Get token information from [Birdeye](https://birdeye.so/)

## Installation
```bash
npm install @goat-sdk/plugin-birdeye
yarn add @goat-sdk/plugin-birdeye
pnpm add @goat-sdk/plugin-birdeye
```

## Usage

```typescript
import { birdeye } from "@goat-sdk/plugin-birdeye";

const tools = await getOnChainTools({
    wallet: // ...
    plugins: [
       birdeye({
            apiKey: process.env.BIRDEYE_API_KEY,
       })
    ]
});
```

## Tools
- Get token price
- Get token history price
- Get OHLCV price of token
- Get OHLCV price of pair
- Get token security
- Get trending tokens
- Search for a token

<footer>
<br/>
<br/>
<div>
<a href="https://github.com/goat-sdk/goat">
  <img src="https://github.com/user-attachments/assets/4821833e-52e5-4126-a2a1-59e9fa9bebd7" alt="GOAT" width="100%" height="auto" style="object-fit: contain; max-width: 800px;">
</a>
</div>
</footer>
npm package: @goat-sdk/plugin-bmx
Description: <div align="center"> <a href="https://github.com/goat-sdk/goat">
Latest version: 0.1.2

<div align="center">
<a href="https://github.com/goat-sdk/goat">

<img src="https://github.com/user-attachments/assets/5fc7f121-259c-492c-8bca-f15fe7eb830c" alt="GOAT" width="100px" height="auto" style="object-fit: contain;">
</a>
</div>

# BMX GOAT Plugin

Get token information from [BMX](https://www.bmx.trade/)

## Installation
```bash
npm install @goat-sdk/plugin-bmx
yarn add @goat-sdk/plugin-bmx
pnpm add @goat-sdk/plugin-bmx
```

## Usage

```typescript
import { bmx } from "@goat-sdk/plugin-bmx";

const tools = await getOnChainTools({
    wallet: // ...
    plugins: [
       bmx()
    ]
});
```

## Tools
- Open positions
- Closed positions
- Get position details

<footer>
<br/>
<br/>
<div>
<a href="https://github.com/goat-sdk/goat">
  <img src="https://github.com/user-attachments/assets/4821833e-52e5-4126-a2a1-59e9fa9bebd7" alt="GOAT" width="100%" height="auto" style="object-fit: contain; max-width: 800px;">
</a>
</div>
</footer>
npm package: @goat-sdk/plugin-coingecko
Description: <div align="center"> <a href="https://github.com/goat-sdk/goat">
Latest version: 0.2.10

<div align="center">
<a href="https://github.com/goat-sdk/goat">

<img src="https://github.com/user-attachments/assets/5fc7f121-259c-492c-8bca-f15fe7eb830c" alt="GOAT" width="100px" height="auto" style="object-fit: contain;">
</a>
</div>

# CoinGecko GOAT Plugin
Get tools to access market data, prices, and onchain analytics through the [CoinGecko API](https://www.coingecko.com/api). Use both the public and pro APIs to fetch detailed information about coins, tokens, pools, and market trends.

## Requirements
- You will need a CoinGecko API key to use this plugin. You can get it from [here](https://www.coingecko.com/api/pricing).

## Installation
```bash
npm install @goat-sdk/plugin-coingecko
yarn add @goat-sdk/plugin-coingecko
pnpm add @goat-sdk/plugin-coingecko
```

## Setup for the Public API

```typescript
import { coingecko } from "@goat-sdk/plugin-coingecko";

const tools = await getOnChainTools({
    plugins: [
        coingecko({ 
            apiKey: process.env.COINGECKO_API_KEY 
        })
    ]
});
```

## Setup for the Pro API

```typescript
import { coingecko } from "@goat-sdk/plugin-coingecko";

const tools = await getOnChainTools({
    plugins: [
        coingecko({ 
            apiKey: process.env.COINGECKO_API_KEY,
            isPro: true
        })
    ]
});
```

## Tools

### Public API Tools
1. Get Trending Coins
2. Get Coin Prices
3. Search Coins
4. Get Coin Price by Contract Address
5. Get Coin Data
6. Get Historical Data
7. Get OHLC Data
8. Get Trending Coin Categories
9. Get Coin Categories

### Pro API Tools
1. Get Pool Data by Pool Address
2. Get Trending Pools
3. Get Trending Pools by Network
4. Get Top Gainers/Losers
5. Get Token Data by Token Address
6. Get Tokens Info by Pool Address

<footer>
<br/>
<br/>
<div>
<a href="https://github.com/goat-sdk/goat">
  <img src="https://github.com/user-attachments/assets/4821833e-52e5-4126-a2a1-59e9fa9bebd7" alt="GOAT" width="100%" height="auto" style="object-fit: contain; max-width: 800px;">
</a>
</div>
</footer>