@openzeppelin/relayer-sdk
v1.8.0
Published
OpenZeppelin Relayer SDK
Readme
OpenZeppelin Relayer SDK
The OpenZeppelin Relayer SDK provides a TypeScript/JavaScript client for interacting with the OpenZeppelin Relayer service. This SDK allows developers to easily integrate relayer functionality into their applications for various blockchain networks.
Requirements
- Node.js 22.14.0 or higher
- Package manager: pnpm 9.0.0 or higher
- JDK 21 or higher
Installation
npm install @openzeppelin/relayer-sdk
# or
yarn add @openzeppelin/relayer-sdk
# or
pnpm add @openzeppelin/relayer-sdkFeatures
- Easy integration with OpenZeppelin Relayer services
- Support for multiple blockchain networks (EVM, Solana)
- TypeScript typings for better development experience
- Built-in configuration management
Architecture
The SDK is built on top of an OpenAPI-generated TypeScript client that communicates with the OpenZeppelin Relayer API. It uses Axios for HTTP requests and provides type-safe interfaces for all API operations.
Usage Examples
The SDK includes various examples demonstrating how to interact with relayers:
EVM Networks
See the examples/evm directory for EVM-specific examples.
Solana
See the examples/solana directory for Solana-specific examples.
Common Operations
Get Relayer
import { Configuration, RelayersApi } from '@openzeppelin/relayer-sdk';
const config = new Configuration({
basePath: 'https://your-path.com',
accessToken: '',
});
const relayersApi = new RelayersApi(config);
const relayer = await api.getRelayer('relayer-id');
console.log(relayer);For more examples, check the examples directory.
API Documentation
The SDK is built on top of an OpenAPI specification which can be found in the openapi.json file.
For detailed API documentation, please refer to the API Reference in the docs folder. This documentation provides comprehensive information about all available endpoints, request parameters, and response types.
To generate docs from the OpenAPI specification, you can use the following command:
pnpm generate:docsNote: You will need java runtime installed to generate the documentation.
Development
Setup
# Install dependencies
pnpm install
# Build the SDK
pnpm generateGenerating a New Client
The SDK client is generated from an OpenAPI specification file. To generate a new client:
- Create or update the
openapi.jsonfile in the root directory if it doesn't exist. - Run the generation command:
pnpm run generateThis command performs the following steps:
- Cleans the existing source files
- Generates a TypeScript Axios client from the OpenAPI specification
- Runs post-generation scripts to customize the output
- Builds the final client
Testing
pnpm testContributing
Contributions are welcome! Please read our Code of Conduct before contributing to this project.
License
This project is licensed under the AGPL-3.0-or-later license. See the LICENSE file for more details.
Release Workflow

