{"id":29089590,"url":"https://github.com/openzeppelin/openzeppelin-relayer-sdk","last_synced_at":"2025-06-28T04:04:13.999Z","repository":{"id":286950287,"uuid":"952164763","full_name":"OpenZeppelin/openzeppelin-relayer-sdk","owner":"OpenZeppelin","description":"OpenZeppelin Relayer SDK","archived":false,"fork":false,"pushed_at":"2025-06-21T05:37:39.000Z","size":754,"stargazers_count":4,"open_issues_count":13,"forks_count":0,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-06-21T05:38:35.826Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OpenZeppelin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-03-20T20:48:53.000Z","updated_at":"2025-06-21T05:11:33.000Z","dependencies_parsed_at":"2025-05-29T18:26:22.148Z","dependency_job_id":"e6f99e31-535c-4b77-a957-b943724d3637","html_url":"https://github.com/OpenZeppelin/openzeppelin-relayer-sdk","commit_stats":null,"previous_names":["openzeppelin/openzeppelin-relayer-sdk"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/OpenZeppelin/openzeppelin-relayer-sdk","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenZeppelin%2Fopenzeppelin-relayer-sdk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenZeppelin%2Fopenzeppelin-relayer-sdk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenZeppelin%2Fopenzeppelin-relayer-sdk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenZeppelin%2Fopenzeppelin-relayer-sdk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OpenZeppelin","download_url":"https://codeload.github.com/OpenZeppelin/openzeppelin-relayer-sdk/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenZeppelin%2Fopenzeppelin-relayer-sdk/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262371684,"owners_count":23300595,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-06-28T04:04:08.935Z","updated_at":"2025-06-28T04:04:13.992Z","avatar_url":"https://github.com/OpenZeppelin.png","language":"TypeScript","readme":"# OpenZeppelin Relayer SDK\n\n[![NPM Package](https://img.shields.io/npm/v/@openzeppelin/relayer-sdk.svg)](https://www.npmjs.org/package/@openzeppelin/relayer-sdk)\n[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/OpenZeppelin/openzeppelin-relayer-sdk/badge)](https://api.securityscorecards.dev/projects/github.com/OpenZeppelin/openzeppelin-relayer-sdk)\n[![Scorecard supply-chain security](https://github.com/OpenZeppelin/openzeppelin-relayer-sdk/actions/workflows/scorecard.yml/badge.svg)](https://github.com/OpenZeppelin/openzeppelin-relayer-sdk/actions/workflows/scorecard.yml)\n[![CI](https://github.com/OpenZeppelin/openzeppelin-relayer-sdk/actions/workflows/ci.yaml/badge.svg)](https://github.com/OpenZeppelin/openzeppelin-relayer-sdk/actions/workflows/ci.yaml)\n\nThe 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.\n\n## Requirements\n\n- Node.js 22.14.0 or higher\n- Package manager: pnpm 9.0.0 or higher\n\n## Installation\n\n```bash\nnpm install @openzeppelin/relayer-sdk\n# or\nyarn add @openzeppelin/relayer-sdk\n# or\npnpm add @openzeppelin/relayer-sdk\n```\n\n## Features\n\n- Easy integration with OpenZeppelin Relayer services\n- Support for multiple blockchain networks (EVM, Solana)\n- TypeScript typings for better development experience\n- Built-in configuration management\n\n## Architecture\n\nThe 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.\n\n## Usage Examples\n\nThe SDK includes various examples demonstrating how to interact with relayers:\n\n### EVM Networks\n\nSee the [examples/evm](examples/evm) directory for EVM-specific examples.\n\n### Solana\n\nSee the [examples/solana](examples/solana) directory for Solana-specific examples.\n\n### Common Operations\n\n#### Get Relayer\n\n```typescript\nimport { Configuration, RelayersApi } from '@openzeppelin/relayer-sdk';\n\nconst config = new Configuration({\n  basePath: 'https://your-path.com',\n  accessToken: '',\n});\n\nconst relayersApi = new RelayersApi(config);\n\nconst relayer = await api.getRelayer('relayer-id');\nconsole.log(relayer);\n```\n\nFor more examples, check the [examples directory](examples).\n\n## API Documentation\n\nThe SDK is built on top of an OpenAPI specification which can be found in the [openapi.json](openapi.json) file.\n\nFor detailed API documentation, please refer to the [API Reference](docs/README.md) in the docs folder. This documentation provides comprehensive information about all available endpoints, request parameters, and response types.\n\n## Development\n\n### Setup\n\n```bash\n# Install dependencies\npnpm install\n\n# Build the SDK\npnpm generate\n```\n\n## Generating a New Client\n\nThe SDK client is generated from an OpenAPI specification file. To generate a new client:\n\n1. Create or update the `openapi.json` file in the root directory if it doesn't exist.\n2. Run the generation command:\n\n```bash\npnpm run generate\n```\n\nThis command performs the following steps:\n\n- Cleans the existing source files\n- Generates a TypeScript Axios client from the OpenAPI specification\n- Runs post-generation scripts to customize the output\n- Builds the final client\n\n### Testing\n\n```bash\npnpm test\n```\n\n### Contributing\n\nContributions are welcome! Please read our [Code of Conduct](CODE_OF_CONDUCT.md) before contributing to this project.\n\n## License\n\nThis project is licensed under the **AGPL-3.0-or-later** license. See the [LICENSE](LICENSE) file for more details.\n\n---\n\n### Release Workflow\n\n![Release workflow](assets/release-workflow.png)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenzeppelin%2Fopenzeppelin-relayer-sdk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fopenzeppelin%2Fopenzeppelin-relayer-sdk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fopenzeppelin%2Fopenzeppelin-relayer-sdk/lists"}