---
title: "Approve provider terms of service"
method: POST
path: "/staking/providers/{providerId}/approveTermsOfService"
tags: ["Staking"]
---

# Approve provider terms of service

`POST /staking/providers/{providerId}/approveTermsOfService`

## Request

- Base URL: `https://api.fireblocks.io/v1`
- URL: `https://api.fireblocks.io/v1/staking/providers/{providerId}/approveTermsOfService`
- Auth: none declared
- TypeScript: <https://skmtc.dev/fireblocks/apis/fireblocks-api/docs/staking/providers/:providerId/approveTermsOfService/post.ts> (a function with typed inputs; its response is checked against the schema)

Approves the provider's terms of service. Must be called once before performing any staking operation with this provider.

## Path parameters

- `providerId` 'kiln' | 'figment' | 'lido' | 'p2p' | 'blockdaemon' | 'galaxy' | 'pierTwo' | 'kraken', required: The unique identifier of the staking provider

## Headers

- `Idempotency-Key` string

## Response `201`

Terms of service accepted.

## Other responses

- `400`: Bad request: missing/invalid fields, unsupported amount, or malformed payload.
- `403`: Forbidden: insufficient permissions, disabled feature, or restricted provider/validator.
- `404`: Not found: requested resource does not exist (e.g., position, validator, provider, or wallet).
- `429`: Rate limit exceeded: slow down and retry later.
- `500`: Internal error while processing the request.
- `default`: Error Response

---

[API](https://skmtc.dev/fireblocks/apis/fireblocks-api.md) - [All operations](https://skmtc.dev/fireblocks/apis/fireblocks-api/llms.txt) - [OpenAPI document](https://skmtc.dev/fireblocks/apis/fireblocks-api/revisions/4eba9965659a?raw)
