← All operations
POST/api/v1/staking/benefits/preview

Growth_PreviewHolderBenefits

Authentication
required-user
Cache policy
none
Success and errors
200, 400, 401, 403, 404, 409, 500, 503
Stability
v1 stable contract

OpenAPI operation

{
  "operationId": "Growth_PreviewHolderBenefits",
  "summary": "POST /api/v1/staking/benefits/preview",
  "tags": [
    "Growth"
  ],
  "parameters": [
    {
      "name": "Idempotency-Key",
      "in": "header",
      "required": true,
      "schema": {
        "type": "string",
        "format": "uuid"
      }
    }
  ],
  "requestBody": {
    "required": true,
    "content": {
      "application/json": {
        "schema": {
          "type": "object",
          "properties": {
            "context": {
              "type": "string",
              "enum": [
                "ORDER",
                "REFERRAL",
                "BOUNTY"
              ]
            },
            "subtotalUnits": {
              "type": "string",
              "pattern": "^(?:0|[1-9][0-9]{0,77})$"
            },
            "baseRatePpm": {
              "type": "integer",
              "minimum": 0,
              "maximum": 1000000
            },
            "maximumRatePpm": {
              "type": "integer",
              "minimum": 0,
              "maximum": 1000000
            },
            "platformFeeUnits": {
              "type": "string",
              "pattern": "^(?:0|[1-9][0-9]{0,77})$"
            }
          },
          "required": [
            "context"
          ],
          "additionalProperties": false
        }
      }
    }
  },
  "security": [
    {
      "cookieAuth": []
    }
  ],
  "responses": {
    "200": {
      "description": "Success",
      "content": {
        "application/json": {
          "schema": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "data",
              "meta"
            ],
            "properties": {
              "data": {
                "type": "object",
                "properties": {
                  "binding": {
                    "type": "boolean",
                    "const": false
                  },
                  "context": {
                    "type": "string",
                    "enum": [
                      "ORDER",
                      "REFERRAL",
                      "BOUNTY"
                    ]
                  },
                  "asOf": {
                    "type": "string",
                    "format": "date-time",
                    "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
                  },
                  "tier": {
                    "anyOf": [
                      {
                        "type": "object",
                        "properties": {
                          "code": {
                            "type": "string"
                          },
                          "policyVersion": {
                            "type": "integer",
                            "exclusiveMinimum": 0,
                            "maximum": 9007199254740991
                          },
                          "multiplierPpm": {
                            "type": "integer",
                            "minimum": 0,
                            "maximum": 10000000
                          },
                          "source": {
                            "type": "string",
                            "enum": [
                              "CHAIN_ASSIGNMENT",
                              "MANUAL_OVERRIDE"
                            ]
                          },
                          "sourceWatermark": {
                            "type": "string"
                          },
                          "observedLockedUnits": {
                            "type": "string",
                            "pattern": "^(?:0|[1-9][0-9]{0,77})$"
                          },
                          "expiresAt": {
                            "anyOf": [
                              {
                                "type": "string",
                                "format": "date-time",
                                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$"
                              },
                              {
                                "type": "null"
                              }
                            ]
                          }
                        },
                        "required": [
                          "code",
                          "policyVersion",
                          "multiplierPpm",
                          "source",
                          "sourceWatermark",
                          "observedLockedUnits",
                          "expiresAt"
                        ],
                        "additionalProperties": false
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "benefit": {
                    "anyOf": [
                      {
                        "type": "object",
                        "properties": {
                          "code": {
                            "type": "string"
                          },
                          "effect": {
                            "type": "string",
                            "enum": [
                              "ENTITLEMENT",
                              "DISCOUNT_BPS",
                              "REFERRAL_MULTIPLIER_PPM",
                              "BOUNTY_FEE_SHARE_BPS",
                              "LAUNCH_FEE_SHARE_BPS"
                            ]
                          },
                          "policyVersion": {
                            "type": "integer",
                            "exclusiveMinimum": 0,
                            "maximum": 9007199254740991
                          },
                          "integerValue": {
                            "anyOf": [
                              {
                                "type": "string",
                                "pattern": "^(?:0|[1-9][0-9]{0,77})$"
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "textValue": {
                            "anyOf": [
                              {
                                "type": "string"
                              },
                              {
                                "type": "null"
                              }
                            ]
                          }
                        },
                        "required": [
                          "code",
                          "effect",
                          "policyVersion",
                          "integerValue",
                          "textValue"
                        ],
                        "additionalProperties": false
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "calculation": {
                    "type": "object",
                    "propertyNames": {
                      "type": "string"
                    },
                    "additionalProperties": {
                      "anyOf": [
                        {
                          "type": "string"
                        },
                        {
                          "type": "number"
                        }
                      ]
                    }
                  },
                  "explanation": {
                    "type": "string"
                  }
                },
                "required": [
                  "binding",
                  "context",
                  "asOf",
                  "tier",
                  "benefit",
                  "calculation",
                  "explanation"
                ],
                "additionalProperties": false
              },
              "meta": {
                "type": "object",
                "additionalProperties": true,
                "required": [
                  "requestId",
                  "schemaVersion",
                  "buildVersion",
                  "generatedAt",
                  "freshness"
                ],
                "properties": {
                  "requestId": {
                    "type": "string",
                    "format": "uuid"
                  },
                  "schemaVersion": {
                    "type": "string"
                  },
                  "buildVersion": {
                    "type": "string"
                  },
                  "generatedAt": {
                    "type": "string",
                    "format": "date-time"
                  },
                  "freshness": {
                    "type": "object",
                    "additionalProperties": false,
                    "required": [
                      "projectedAt",
                      "sourceWatermark"
                    ],
                    "properties": {
                      "projectedAt": {
                        "type": [
                          "string",
                          "null"
                        ],
                        "format": "date-time"
                      },
                      "sourceWatermark": {
                        "type": [
                          "string",
                          "null"
                        ]
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "400": {
      "description": "invalid request",
      "content": {
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      }
    },
    "401": {
      "description": "unauthenticated",
      "content": {
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      }
    },
    "403": {
      "description": "forbidden",
      "content": {
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      }
    },
    "404": {
      "description": "not found",
      "content": {
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      }
    },
    "409": {
      "description": "conflict",
      "content": {
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      }
    },
    "500": {
      "description": "internal error",
      "content": {
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      }
    },
    "503": {
      "description": "dependency unavailable",
      "content": {
        "application/problem+json": {
          "schema": {
            "$ref": "#/components/schemas/ApiError"
          }
        }
      }
    }
  },
  "x-auth-mode": "required-user",
  "x-cache-policy": "none",
  "x-required-scopes": [],
  "x-rate-cost": 1,
  "x-stability": "STABLE"
}