---
updatedAt: 2026-05-20T06:32:15.000Z
---

Fetch the complete documentation index at: https://docs.blockdaemon.com/llms.txt. Use this file to discover all available pages before exploring further. Append .md to any documentation page URL to get its markdown version.

# Post Rewards Withdrawal Intent

Creates a new withdrawal intent that withdraws only the accumulated rewards. Staked tokens stay untouched and keep earning rewards.

# OpenAPI definition

```json
{
  "openapi": "3.1.0",
  "info": {
    "version": "1.0.0",
    "title": "Staking API",
    "description": "The Blockdaemon Staking API simplifies and streamlines institutional cryptocurrency staking. The API allows developers to interact with blockchain networks and perform various staking-related operations, such as delegating and undelegating tokens, in a single, unified interface.\n\nWith the Staking API, you can quickly and easily build and deploy applications that automate staking activities and increase efficiency in your blockchain operations.",
    "contact": {
      "name": "Blockdaemon",
      "email": "info@blockdaemon.com",
      "url": "https://blockdaemon.com"
    },
    "x-logo": {
      "url": "https://assets-global.website-files.com/633c5e06513fa35f3391a5f9/645d33beb6fa65f6cfb95eb8_BD%20Logo%20Stack%20-%20Purple.svg",
      "backgroundColor": "#fafafa",
      "altText": "Blockdaemon logo"
    }
  },
  "x-readme": {
    "explorer-enabled": false
  },
  "servers": [
    {
      "url": "https://svc.blockdaemon.com/boss"
    }
  ],
  "components": {
    "securitySchemes": {
      "ApiKeyAuth": {
        "description": "When signing up for a staking account, you are provided with an API key.\n\nTo authenticate a Staking API request, pass your API key in the `X-API-Key` header.",
        "type": "apiKey",
        "in": "header",
        "name": "X-API-KEY"
      }
    },
    "parameters": {
      "PolygonNetwork": {
        "name": "network",
        "in": "path",
        "description": "Polygon network",
        "required": true,
        "schema": {
          "$ref": "#/components/schemas/PolygonNetwork"
        }
      }
    },
    "responses": {
      "InternalServerError": {
        "description": "Internal server error.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/Error"
            }
          }
        }
      },
      "InvalidRequest": {
        "description": "Invalid request.",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "description": "Error response envelope",
              "required": [
                "code",
                "message"
              ],
              "properties": {
                "code": {
                  "type": "integer",
                  "format": "int32",
                  "description": "Error code",
                  "example": 400
                },
                "message": {
                  "type": "string",
                  "description": "Error Message",
                  "example": "Detailed human-readable diagnostic message regarding any invalid request parameters"
                }
              }
            }
          }
        }
      },
      "RewardsWithdrawIntentPolygon": {
        "description": "Rewards withdrawal intent created",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/RewardsWithdrawIntentPolygon"
            }
          }
        }
      },
      "Unauthorized": {
        "description": "Header 'X-API-Key' missing.",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/UnauthorizedError"
            }
          }
        }
      }
    },
    "schemas": {
      "CustomerId": {
        "type": "string",
        "description": "Unique identifier for a customer",
        "example": "SatoshiNakamoto-xUYJbPw9hw",
        "minimum": 1
      },
      "Error": {
        "type": "object",
        "description": "Error response envelope",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32",
            "description": "Error code",
            "example": 500
          },
          "message": {
            "type": "string",
            "description": "Error Message",
            "example": "A descriptive error message"
          }
        }
      },
      "EthereumAddress": {
        "type": "string",
        "description": "Hex-encoded Ethereum [account or smart contract address](https://ethereum.org/en/developers/docs/accounts/).",
        "format": "hex",
        "pattern": "^0x[a-fA-F0-9]{40}$",
        "example": "0x00000000219ab540356cBB839Cbe05303d7705Fa"
      },
      "NewRewardsWithdrawIntentPolygon": {
        "type": "object",
        "description": "Request object to create a new rewards withdrawal intent for Polygon.",
        "required": [
          "wallet_address"
        ],
        "properties": {
          "wallet_address": {
            "$ref": "#/components/schemas/EthereumAddress"
          },
          "validator_share_address": {
            "$ref": "#/components/schemas/EthereumAddress"
          },
          "plan_id": {
            "$ref": "#/components/schemas/PlanId"
          },
          "token_type": {
            "$ref": "#/components/schemas/PolygonTokenType"
          }
        }
      },
      "PolygonTokenType": {
        "type": "string",
        "description": "Polygon token type",
        "enum": [
          "MATIC",
          "POL"
        ],
        "default": "POL"
      },
      "PlanId": {
        "type": "string",
        "description": "This feature enables you to stake to validators from the specified plan(s). When no plan id is specified, validators across all plans that match the API route will be available for staking. If it is a shared plan, you can to stake to validators on a shared node from the specified plan.",
        "example": "plan_Wgx98Rbi8nQuL9ddn3mTk1"
      },
      "PolygonRewardsWithdrawIntent": {
        "type": "object",
        "required": [
          "to",
          "unsigned_transaction",
          "wallet_address"
        ],
        "properties": {
          "to": {
            "$ref": "#/components/schemas/EthereumAddress"
          },
          "unsigned_transaction": {
            "$ref": "#/components/schemas/UnsignedTransaction"
          },
          "wallet_address": {
            "$ref": "#/components/schemas/EthereumAddress"
          }
        }
      },
      "PolygonNetwork": {
        "type": "string",
        "description": "Polygon network",
        "enum": [
          "mainnet",
          "goerli",
          "prater"
        ]
      },
      "RewardsWithdrawIntentPolygon": {
        "type": "object",
        "required": [
          "protocol",
          "network",
          "polygon",
          "customer_id"
        ],
        "properties": {
          "protocol": {
            "$ref": "#/components/schemas/PolygonProtocol"
          },
          "network": {
            "$ref": "#/components/schemas/PolygonNetwork"
          },
          "polygon": {
            "$ref": "#/components/schemas/PolygonRewardsWithdrawIntent"
          },
          "customer_id": {
            "$ref": "#/components/schemas/CustomerId"
          }
        }
      },
      "UnauthorizedError": {
        "type": "object",
        "description": "Error response envelope",
        "required": [
          "code",
          "message"
        ],
        "properties": {
          "code": {
            "type": "integer",
            "format": "int32",
            "description": "Error code",
            "example": 401
          },
          "message": {
            "type": "string",
            "description": "Error Message",
            "example": "A human-readable diagnostic message detailing any authorization failure"
          }
        }
      },
      "UnsignedTransaction": {
        "type": "string",
        "format": "base64",
        "description": "Generated unsigned transaction smart contract call data.",
        "example": "0x22895118000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000120087fed394b43849eebef1e88873cd9efdbe33136656e5148e659b8b2f33625d40000000000000000000000000000000000000000000000000000000000000030b81748644e23c4d950f9dd709f3eb73d5eacd9657997e1d9dde7c4ebd8a6519ecb9d0a7fb603d3b68e023278f9650122000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020010000000000000000000000c509bb854c526af4cee5e037089f7aa8e091d8870000000000000000000000000000000000000000000000000000000000000060b36b79b4b206c0310472c117fa40c05342b5dc3e89f98f42c9da3ce6450d4c603cad55248017fd4eca3ab277cca64569193e4d487f5b2ea78a2bcdc81926c313c05842a3af318967a775783bba22519e8b8886587efa99aa7dab5784f792b187\n"
      },
      "PolygonProtocol": {
        "type": "string",
        "description": "Polygon protocol",
        "enum": [
          "polygon"
        ]
      }
    }
  },
  "security": [
    {
      "ApiKeyAuth": []
    }
  ],
  "paths": {
    "/v1/polygon/{network}/rewards/withdrawal-intents": {
      "parameters": [
        {
          "$ref": "#/components/parameters/PolygonNetwork"
        }
      ],
      "post": {
        "summary": "Post Rewards Withdrawal Intent",
        "operationId": "postPolygonRewardsWithdrawalIntent",
        "tags": [
          "Polygon"
        ],
        "description": "Creates a new withdrawal intent that withdraws only the accumulated rewards. Staked tokens stay untouched and keep earning rewards.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/NewRewardsWithdrawIntentPolygon"
                  }
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "$ref": "#/components/responses/RewardsWithdrawIntentPolygon"
          },
          "400": {
            "$ref": "#/components/responses/InvalidRequest"
          },
          "401": {
            "$ref": "#/components/responses/Unauthorized"
          },
          "500": {
            "$ref": "#/components/responses/InternalServerError"
          }
        },
        "security": [
          {
            "ApiKeyAuth": []
          }
        ]
      }
    }
  },
  "tags": [
    {
      "name": "Polygon",
      "description": "Polygon endpoints"
    }
  ]
}
```