open-index/open-npm huggingface dataset:
npm package: @one-piece-rick/cli
Description: <div align="center"> <h1>RICK-CLI</h1>
Author: rick
Latest version: 1.0.1

<div align="center">
<h1>RICK-CLI</h1>

<br />

<p align="center">
  <img src="https://cdn.jsdelivr.net/gh/rick-chou/rick-assets/webp/js.webp" width="80" />
  <img src="https://cdn.jsdelivr.net/gh/rick-chou/rick-assets/webp/react.webp" width="80" />
  <img src="https://cdn.jsdelivr.net/gh/rick-chou/rick-assets/webp/vue.webp" width="80" />
  <img src="https://cdn.jsdelivr.net/gh/rick-chou/rick-assets/webp/python.webp" width="80" />
  <img src="https://cdn.jsdelivr.net/gh/rick-chou/rick-assets/webp/github.webp" width="80" />
  <img src="https://cdn.jsdelivr.net/gh/rick-chou/rick-assets/webp/vscode.webp" width="80" />
</p>
 
 
</div>

### Features 🌈

- google | bing | baidu search
- translate （ coming soon... ）

### Install 📦

```
npm install -g @one-piece-rick/cli
```

### Preview 🌟

```
Usage: RICK-CLI [options] [command]

 ____     ______   ____     __  __
/\  _`\  /\__  _\ /\  _`\  /\ \/\ \
\ \ \L\ \\/_/\ \/ \ \ \/\_\\ \ \/'/'
 \ \ ,  /   \ \ \  \ \ \/_/_\ \ , <
  \ \ \\ \   \_\ \__\ \ \L\ \\ \ \\`\
   \ \_\ \_\ /\_____\\ \____/ \ \_\ \_\
    \/_/\/ / \/_____/ \/___/   \/_/\/_/



Options:
  -V, --version     output the version number
  -h, --help        display help for command

Commands:
  search [options]  search
  help [command]    display help for command
```
npm package: @one-piece-rick/react-test-preset
Description: ``` yarn add @one-piece-rick/react-test-preset -D ```
Author: rick
Latest version: 1.0.1

#### 📦 Install

```
yarn add @one-piece-rick/react-test-preset -D
```

#### 🌟 Version

| React            | @one-piece-rick/react-test-preset |
| ---------------- | :-------------------------------: |
| >=17.0.0 <18.0.0 |               v1.x                |


#### add babel.config.js

```js
module.exports = require('@one-piece-rick/react-test-preset/babel.config');
```

#### add jest.config.ts

```ts
export { default } from '@one-piece-rick/react-test-preset/jest.config';
```

#### generator coverage badges

Add at least one of the below coverage hashes in your README file:

```md
![Statements](#statements#)
![Branches](#branches#)
![Functions](#functions#)
![Lines](#lines#)
```

Add this script in your package.json file:

```
"badges": "npx istanbul-badges-readme --coverageDir='./coverage'"
```

run

```
yarn badges
```

#### 🌰 Demo

> https://www.jestjs.cn/

> https://enzymejs.github.io/enzyme/

```tsx
import React from 'react';
import { shallow } from 'enzyme';
import JsonTree from './index';

describe('JsonTree components', () => {
  it('basic', () => {
    const wrapper = shallow(<JsonTree data={{ name: 'rick' }} />);
    expect(wrapper).toMatchSnapshot();
    wrapper.unmount();
  });
});
```

<img src="https://cdn.jsdelivr.net/gh/rick-chou/rick-assets/jpg/45.jpg" />
npm package: @one-piece-rick/react-ui
Description: <div align="center">
Author: rick
Latest version: 1.0.0

<div align="center">

<h1>@one-piece-rick/react-ui</h1>

![Statements](https://img.shields.io/badge/statements-75%25-red.svg?style=flat) ![Branches](https://img.shields.io/badge/branches-75%25-red.svg?style=flat) ![Functions](https://img.shields.io/badge/functions-63.63%25-red.svg?style=flat) ![Lines](https://img.shields.io/badge/lines-77.27%25-red.svg?style=flat)

<img src="https://cdn.jsdelivr.net/gh/rick-chou/rick-assets/jpg/38.jpg" />
npm package: @one-pixel-ahead/gatsby-plugin-well-known-pages
Description: Plugin to easily add files with dynamic content to a .well-known directory
Author: markus.goedecke@one-pixel-ahead.com
Latest version: 1.0.3

# Gatsby Plugin .well-known

Add files to the .well-known directory during build.  
The files can use variables.

## Getting started

1. Install the package with npm or yarn:  
`npm install gatsby-plugin-well-known-pages`  
`yarn add gatsby-plugin-well-known-pages`
2. Add plugin configuration to gatsby-config.js:

```
module.exports = {
    "plugins": ['gatsby-plugin-well-known-pages'],
}
```
3. Create a directory `.well-known` in your project root and add your files here
4. (Optional) If you need templating for the files change the gatsby-config.js like this:  
```
{
    resolve: 'gatsby-plugin-well-known-pages',
    options: {
        pages: [
            {
                fileName: 'security.txt',
                variables: {
                    __EXPIRES__: '2022-12-31T22:59:00.000Z',
                },
            },
        ],
    },
},
```
you can then use the variable inside of your file like this: `The time this expires is __EXPIRES__`  
There is no rule on how the variable should look. The plugin will just look for the string you give it and replace it with the value.
npm package: @one-platform/generator-opc-generator
Description: A generator to scaffold vanillaJS or lit custom elements
Author: hybridx
Latest version: 0.0.5
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# generator-opc-generator ![Version](https://img.shields.io/badge/version-0.0.0-blue.svg?cacheSeconds=2592000) [![Documentation](https://img.shields.io/badge/documentation-yes-brightgreen.svg)](https://github.com/1-Platform/op-components#readme) [![Maintenance](https://img.shields.io/badge/Maintained%3F-yes-green.svg)](https://github.com/1-Platform/op-components/graphs/commit-activity) [![License: MIT](https://img.shields.io/github/license/1-Platform/op-components)](https://github.com/1-Platform/op-components/blob/master/LICENSE)
> A generator to scaffold vanillaJS or lit custom elements

## Installation

First, install [Yeoman](http://yeoman.io) and generator-opc-generator using [npm](https://www.npmjs.com/) (we assume you have pre-installed [node.js](https://nodejs.org/)).

```bash
npm install -g yo
npm install -g @one-platform/generator-opc-generator
```

Then generate your new project:

```bash
yo @one-platform/opc-generator
```

## Getting To Know Yeoman

 * Yeoman has a heart of gold.
 * Yeoman is a person with feelings and opinions, but is very easy to work with.
 * Yeoman can be too opinionated at times but is easily convinced not to be.
 * Feel free to [learn more about Yeoman](http://yeoman.io/).

[npm-image]: https://badge.fury.io/js/generator-opc-generator.svg
[npm-url]: https://npmjs.org/package/generator-opc-generator
[travis-image]: https://travis-ci.com/hybridx/generator-opc-generator.svg?branch=master
[travis-url]: https://travis-ci.com/hybridx/generator-opc-generator
[daviddm-image]: https://david-dm.org/hybridx/generator-opc-generator.svg?theme=shields.io
[daviddm-url]: https://david-dm.org/hybridx/generator-opc-generator
[coveralls-image]: https://coveralls.io/repos/hybridx/generator-opc-generator/badge.svg
[coveralls-url]: https://coveralls.io/r/hybridx/generator-opc-generator
npm package: @one-platform/opc-back-to-top
Description: Back to Top component that enables smooth scroll from the bottom of the page to the top of the page.
Author: Anjnee K Sharma
Latest version: 0.0.2-prerelease

# opc-back-to-top Component 👋

![Version](https://img.shields.io/badge/version-0.0.1-blue.svg?cacheSeconds=2592000)
![Build Status](https://travis-ci.org/dwyl/esta.svg?branch=master)
[![Maintenance](https://img.shields.io/badge/Maintained%3F-yes-green.svg)](https://github.com/1-Platform/op-components/graphs/commit-activity)


A standardized web component based on Lit element for Red Hat One Platform back to top.

## Usage
Default back-to-top
```html
<opc-back-to-top></opc-back-to-top>
```
- Back-to-top with reveal-at attribute, It reveals back to top once user scrolls upto specified pixels downwards.
```html
<opc-back-to-top reveal-at="200"></opc-back-to-top>
```

- Back-to-top with reveal-at attribute, It reveals back to top once user scrolls upto specified pixels downwards.
```html
<opc-back-to-top reveal-at="200"></opc-back-to-top>
```

```html
<opc-back-to-top></opc-back-to-top>
```

## Slots
- Back-to-top with default slot (optional) where users can pass icon and text if they like.
```html
<opc-back-to-top>
  <button class="rh-text" tabindex="0">
    <svg xmlns='http://www.w3.org/2000/svg' width='20px' height='20px' viewBox='0 0 512 512'>
    <title>ionicons-v5-a</title>
    <polyline points='112 328 256 184 400 328' style='fill:none;stroke:#000;stroke-linecap:round;stroke-linejoin:round;stroke-width:48px'/>
    </svg>
    Go to Top
  </button>
</opc-back-to-top>
```

## Attributes
**`reveal-at`**
- It reveals back to top once user scrolls upto specified pixels downwards.


## Install

```sh
npm install
```

## Usage

### Install opc-back-to-top

```sh
npm install --save @one-platform/opc-back-to-top 
```

### For VanillaJS
- Import component
```js
import '@one-platform/opc-back-to-top';
```
- Add component in html
```html
<opc-back-to-top>
</opc-back-to-top>
```

### For Angular
- In your app.module include the `CUSTOM_ELEMENTS_SCHEMA` and import the component
```js
import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
import '@one-platform/opc-back-to-top';

@NgModule({
  declarations: [
    AppComponent,
  ],
  imports: [
    BrowserModule,
  ],
  schemas: [CUSTOM_ELEMENTS_SCHEMA],
  providers: [],
  bootstrap: [AppComponent]
})
export class AppModule { }
```
- Add component in any component html template
```html
<opc-back-to-top>
</opc-back-to-top>
```

### For React
- Import the component in App.js
```js
import '@one-platform/opc-back-to-top';
```

- Add component in any component html render
```html
<opc-back-to-top>
</opc-back-to-top>
```

### Development server

- Run development server

```sh
npm run dev opc-back-to-top
```

### Build

```sh
npm run build opc-back-to-top
```

## Run tests

```sh
npm run test
```

## 🤝 Contributors

👤 **Anjnee K Sharma**(anjnee.k.sharma@gmail.com)
npm package: @one-platform/opc-base
Description: It contains shared components like layout, authentication provider for one platform
Author: akhilmhdh
Latest version: 1.2.0-beta

# Opc-Base

Opc-Base is an npm package that provides authentication, toast notification, injecting logic into opc components like `opc-nav`, drawer components etc.

## Getting Started

Copy the `config.example.js` file in `dev folder`, rename it as `config.js` and provide the configuration values needed to load the variables.

For testing es module copy the `config.es.example.js` file in `dev folder`, rename it as `config.es.js` and provide the configuration values needed to load the variables.

### Installation

```sh
    npm install
```

### Development Setup

To start the live build with rollup

```sh
   npm run build:watch
```

To start the development server

```sh
   npm run dev
```

## Docs

1. [opc-base](https://github.com/1-Platform/one-platform/tree/master/packages/opc-base/docs/opc-base.md)
2. [opc-provider](https://github.com/1-Platform/one-platform/tree/master/packages/opc-base/docs/opc-provider.md)

## Build

This projects uses typescript with rollup for bundling

To build the project:

```bash
npm run build
```

To watch for changes and rebuild the files:

```bash
npm run build:watch
```

Inorder to preview the changes you made the project uses web [@web-dev-server](https://modern-web.dev/docs/dev-server/overview/):

```bash
npm run dev
```

## Testing

Testing is done using [@web/test-runner](https://modern-web.dev/docs/test-runner/overview/) and [@open-wc/testing](https://open-wc.org/docs/testing/testing-package/). Remember to build the package as some test are done using build file due to dependency import issues.

To run test:

```bash
npm run test
```

For local testing during development

```bash
npm run test:watch
```

## Contributors

👤 **Akhil Mohan** ([@akhilmhdh](https://github.com/akhilmhdh))
npm package: @one-platform/opc-styles
Description: This packages contains the all common styles which are important to get #### started with any component which includes global variables, colors, common mixin
Latest version: 0.0.7

# Welcome to OPC Style Library 👋

This packages contains the all common styles which are important to get
started with any component which includes global variables, colors, common mixin etc.

![Version](https://img.shields.io/badge/version-0.0.1-blue.svg?cacheSeconds=2592000)
[![Maintenance](https://img.shields.io/badge/Maintained%3F-yes-green.svg)](https://github.com/1-Platform/op-components/graphs/commit-activity)


## Usage:

Import the opc-style.scss into your style file 

```
  @import "@one-platform/opc-styles";

```

adding color theme to component with local css custom property use opc-get-var function
Note: see function/_custom-properties.scss for full function documentation.

opc-button.scss
```
  op-button.soft {
    background-color: #{opc-get-var(BackgroundColor, $opc-color--blue-50, soft)};
    color: #{opc-get-var(TextColor, $opc-color--blue-400, soft)};
    border-color: #{opc-get-var(BorderColor, $opc-color--blue-400, soft)};
  }

  op-button.flat {
    background-color: #{opc-get-var(BackgroundColor, $opc-color--blue-50, flat)};
    color: #{opc-get-var(TextColor, $opc-color--blue-400, flat)};
    border-color: transparent;
  }

```

opc-button.scss
```
  op-button.soft {
    background-color: var(--opc-button__soft--BackgroundColor, #E7F1FA);
    color: var(--opc-button__soft--TextColor, #0066CC);
    border-color: var(--opc-button__soft--BorderColor, #0066CC); 
  }

  op-button.flat {
    background-color: var(--opc-button__flat--BackgroundColor, #E7F1FA);
    color: var(--opc-button__flat--TextColor, #0066CC);
    border-color: transparent; 
  }
  
```

#### Adding the Headings style to the component
Use the mixin which are defined in the headings.scss file e.g.

```
  .app-heading {
    @include heading--three
  }
```
this will convert to the css

```
  .app-heading {
    font-family: var(--opc-global--Heading--font-Family, "RedHatDisplay");
    font-size: 1.5rem;
    font-weight: 500;
  }
```

### Using Spacing and Gaps to the component
use the global Gap and spacing variables to add space,
these variables are using css pixel unit for distance which are defined in the 
variables/_1-definitions.scss file


## 🤝 Contributors

👤 **Sumeet Ingole** [@gisumit](https://github.com/gisumit)

👤 **Deepesh Nair** [@hybridx](https://github.com/hybridx)
npm package: @one-profile/hardware-utility-profile
Description: ## Hardware asset utility
Latest version: 0.21.1

# One profile

## Hardware asset utility

To run and contribute to the project you sould have the correct version of yarn <1.22.19> installed locally.

If you dont have it, you can run the following command: `brew install yarn`

After that, you must create a file on the root folder called `.env` and add the BACKEND API KEY and the NPM TOKEN to the file.

Set up the source of your .env file using `source .env` command.

To install the dependencies of the project, run `yarn install`

To run the server you can use : `yarn start --https`.

After that, to continue your environment setup, follow the instructions from the `localhost:8080` page.
npm package: @one-profile/my-first-one-profile-app
Description: THIS IS A TEMPLATE REPOSITORY FOR ONE-PROFILE (NPM RELEASE CHANNEL)
Latest version: 0.0.1

# one-profile-template

THIS IS A TEMPLATE REPOSITORY FOR ONE-PROFILE (NPM RELEASE CHANNEL)

## Possible release channels

- NPM Package (current)
- GCP CloudRun (need contribution)
- AWS Cloudfront (need contribution)

You can reach out to [TechOps CATS team](mailto:cats@thoughtworks.com)

## Initial Setup (common for all release channels)

### 1. Project name

##### a) manifest (package.json)

Rename the project, dist, and main to your profile name

```json
{
  "name": "@one-profile/{your-project}",
  "main": "dist/one-profile-{your-project}.js",
  "types": "dist/one-profile-{your-project}.d.ts"
}
```

##### b) source file

Also rename the file name to the project name

```shell
mv ./src/one-profile-template.tsx ./src/one-profile-{your-project}.tsx
```

### 2. Context in CircleCI

Create context in circleci and replace the context in config.yml with your context name

The following environment variables should be set. Contact for access to 1password vault access to the credentials

```shell
export NPM_TOKEN
export IMD_USERNAME
export IMD_PASSWORD
```

## Releasing Package (only for teams who choose npm as CDN)

### 1. Version

Version using the available script and it will create commit and tag for the version bump

```shell
yarn version:patch
```

```shell
yarn version:minor
```

```shell
yarn version:major
```

### 2. Pushing changes including tags

```shell
git push origin main --tags
```

### 3. CircleCI Workflow

The Publish NPM Package Job is enabled in the workflow only for tag publish in git. Make sure `All branches` is selected in the branch filter to see the tag commit in CircleCI

## Unpublish in case of emergency or security threats

Run the following command. Once you unpublish you cannot republish using the same version.

```shell
 npm unpublish @one-profile/{your-project}@0.0.0 --force
```

### 4. Minimal Setup for CircleCI

Refer CircleCI for minimal setup. You can additionally add any workflow. The workflow contains immediate deployment strategy for import-maps includes

```diff
- NOTE: ANY WORKFLOW SHOULD HAVE SEMGREP IN PLACE TO AVOID SECURITY INCIDENTS
```
npm package: @one-profile/redirect
Description: THIS IS A TEMPLATE REPOSITORY FOR ONE-PROFILE (NPM RELEASE CHANNEL)
Latest version: 0.1.1

# one-profile-template

THIS IS A TEMPLATE REPOSITORY FOR ONE-PROFILE (NPM RELEASE CHANNEL)

## Possible release channels

- NPM Package (current)
- GCP CloudRun (need contribution)
- AWS Cloudfront (need contribution)

You can reach out to [TechOps CATS team](mailto:cats@thoughtworks.com)

## Initial Setup (common for all release channels)

### 1. Project name

##### a) manifest (package.json)

Rename the project, dist, and main to your profile name

```json
{
  "name": "@one-profile/{your-project}",
  "main": "dist/one-profile-{your-project}.js",
  "types": "dist/one-profile-{your-project}.d.ts"
}
```

##### b) source file

Also rename the file name to the project name

```shell
mv ./src/one-profile-redirect.tsx ./src/one-profile-{your-project}.tsx
```

### 2. Context in CircleCI

Create context in circleci and replace the context in config.yml with your context name

The following environment variables should be set. Contact for access to 1password vault access to the credentials

```shell
export NPM_TOKEN
export IMD_USERNAME
export IMD_PASSWORD
```

## Releasing Package (only for teams who choose npm as CDN)

### 1. Version

Version using the available script and it will create commit and tag for the version bump

```shell
yarn version:patch
```

```shell
yarn version:minor
```

```shell
yarn version:major
```

### 2. Pushing changes including tags

```shell
git push origin main --tags
```

### 3. CircleCI Workflow

The Publish NPM Package Job is enabled in the workflow only for tag publish in git. Make sure `All branches` is selected in the branch filter to see the tag commit in CircleCI

## Unpublish in case of emergency or security threats

Run the following command. Once you unpublish you cannot republish using the same version.

```shell
 npm unpublish @one-profile/{your-project}@0.0.0 --force
```

### 4. Minimal Setup for CircleCI

Refer CircleCI for minimal setup. You can additionally add any workflow. The workflow contains immediate deployment strategy for import-maps includes

```diff
- NOTE: ANY WORKFLOW SHOULD HAVE SEMGREP IN PLACE TO AVOID SECURITY INCIDENTS
```
npm package: @one-profile/self-service-letters
Description: The self service letters from Workday are accessible through this application.
Latest version: 1.0.7

# one-profile-service-letters

The self service letters from Workday are accessible through this application.

## How to run unit test

```
yarn test
```

## Releasing Package

### 1. Prerequisite

Enable/activate the `self-service-letters` client in API Platform

### 2. Version

Version using the available script and it will create commit and tag for the version bump

```shell
yarn version:patch
```

```shell
yarn version:minor
```

```shell
yarn version:major
```

### 3. Pushing changes including tags

```shell
git push origin main --tags
```

### 4. CircleCI Workflow

The Publish NPM Package Job is enabled in the workflow only for tag publish in git. Make sure `All branches` is selected in the branch filter to see the tag commit in CircleCI

## Unpublish in case of emergency or security threats

Run the following command. Once you unpublish you cannot republish using the same version.

```shell
 npm unpublish @one-profile/one-profile-service-letters@0.0.0 --force
```

## Reference

To run the application in local refer https://docs.google.com/document/d/1gKWQN3pd4oFBhpuh-1U6VdynlkmzMhZEAj0WyY6OKBY/edit
npm package: @one-public/vite-plugin-qiankun-lite
Description: A simple Vite plugin for efficiently running MicroFrontend applications using qiankun
Author: duowb
Latest version: 1.0.1

# @one-public/vite-plugin-qiankun-lite

A simple Vite plugin for efficiently running MicroFrontend applications using [qiankun](https://github.com/umijs/qiankun).

## Features

- Offers the simplest method for integrating qiankun with Vite.
- Preserves Vite's benefits in constructing ES modules.
- Allows for one-click configuration without disrupting existing Vite setups.
- Includes a comprehensive JS Sandbox whenever feasible (experimental).
- Supports React's HMR (Hot Module Replacement).

## Installation

```bash
npm install -D @one-public/vite-plugin-qiankun-lite
```

## Getting Started

You can start working with just a few simple steps. Add the qiankun plugin to your sub application's Vite configuration like so:

```javascript
// vite.config.js
import { defineConfig } from "vite";
import react from "@vitejs/plugin-react";
import qiankun from "@one-public/vite-plugin-qiankun-lite";

export default defineConfig({
	plugins: [
		react(),
		qiankun({ name: "sub-app", sandbox: true, keepLeadingSlash: true }),
	],
});
```

## Comparison with vite-plugin-qiankun

This plugin is primarily inspired by [vite-plugin-qiankun](https://github.com/tengmaoqing/vite-plugin-qiankun) but differs in the following ways:

- You can get started with just adding the plugin.
- This means you don't need to use functions like `exportLifeCycleHooks` to export qiankun's lifecycle or constants like `qiankunWindow` to access the proxy window provided by qiankun.
- Offers a comprehensive JS Sandbox wherever possible.

## Inspiration

In the development of this plugin, I drew significant inspiration from the following projects and communities. I express my heartfelt gratitude.

- [vite-plugin-qiankun](https://github.com/tengmaoqing/vite-plugin-qiankun)
- [@sh-winter/vite-plugin-qiankun](https://github.com/sh-winter/vite-plugin-qiankun)
- [vite-plugin-legacy-qiankun](https://github.com/lishaobos/vite-plugin-legacy-qiankun)
npm package: @one-source/api-mcp
Description: MCP server for OneSource blockchain data — 22 named tools for balances, NFTs, transactions, events, and live chain queries via x402
Author: BlockParty
Latest version: 4.0.0

# onesource-api-mcp

MCP server for OneSource blockchain data. 22 named tools for balances, NFTs, transactions, events, and live chain queries via x402 micropayments.

```
npx onesource-api-mcp
```

## Install

```sh
# Claude Code
claude mcp add onesource-api -- npx onesource-api-mcp

# Claude Desktop / Cursor — add to MCP config:
{
  "mcpServers": {
    "onesource-api": {
      "command": "npx",
      "args": ["-y", "onesource-api-mcp"]
    }
  }
}
```

## Tools (22)


### Live Chain Data (12 tools)

| Tool | Description |
|------|-------------|
| `1s_allowance_live` | ERC20 allowance check |
| `1s_contract_info_live` | Contract type detection via ERC165 |
| `1s_erc1155_balance_live` | ERC1155 balance via RPC |
| `1s_erc20_balance_live` | ERC20 balance via balanceOf |
| `1s_erc20_transfers_live` | ERC20 Transfer logs via eth_getLogs |
| `1s_erc721_tokens_live` | ERC721 token enumeration |
| `1s_events_live` | Event logs via eth_getLogs |
| `1s_multi_balance_live` | ETH + multiple ERC20 balances |
| `1s_nft_metadata_live` | NFT metadata via tokenURI |
| `1s_nft_owner_live` | NFT owner via ownerOf |
| `1s_total_supply_live` | Token total supply |
| `1s_tx_details_live` | Transaction + receipt via RPC |


### Chain Utilities (10 tools)

| Tool | Description |
|------|-------------|
| `1s_contract_code` | Contract bytecode |
| `1s_ens_resolve` | ENS name/address resolution |
| `1s_estimate_gas` | Gas estimation |
| `1s_network_info` | Chain ID, block number, gas price |
| `1s_nonce` | Transaction count |
| `1s_pending_block` | Pending block from mempool |
| `1s_proxy_detect` | Proxy contract detection |
| `1s_simulate_call` | Simulate eth_call |
| `1s_storage_read` | Read storage slot |
| `1s_tx_receipt` | Transaction receipt |


## Networks

All tools accept an optional `network` parameter:

| Network | Description |
|---------|-------------|
| `ethereum` | Ethereum mainnet (default) |
| `sepolia` | Ethereum Sepolia testnet |
| `avax` | Avalanche C-Chain |


## Payment (x402)

Endpoints are priced in USDC on Base via [x402](https://github.com/coinbase/x402). When the backend has payments enabled, tool calls return a 402 with payment details.

**Automatic payments:** Set `X402_PRIVATE_KEY` to a funded EVM wallet key. The server will automatically sign and settle USDC payments for each tool call.

```sh
X402_PRIVATE_KEY=0x... npx onesource-api-mcp
```

Without this key, 402 responses are returned as tool errors with a descriptive message.


## Configuration

| Variable | Default | Description |
|----------|---------|-------------|
| `ONESOURCE_BASE_URL` | `https://skills.onesource.io` | Skills API endpoint |
| `X402_PRIVATE_KEY` | — | EVM private key (0x-prefixed hex) for automatic x402 USDC payments on Base |


## License

MIT