{
  "x402Version": 2,
  "id": 2334,
  "slug": "2334",
  "resource": "https://mcp.yield.xyz/x402/actions_manage",
  "description": "Build unsigned transactions for pending actions on an existing DeFi position — claim rewards, restake, unlock, or complete a withdrawal — across 80+ networks. Use the action type and passthrough from yields_get_balances pendingActions[]. Does NOT execute: the caller signs and broadcasts each tx.",
  "type": "http",
  "accepts": [
    {
      "scheme": "exact",
      "network": "eip155:8453",
      "payTo": "0xD433f056270912659f073D5FFE7Ae247e39235A5",
      "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "amount": "1000",
      "maxTimeoutSeconds": 300
    },
    {
      "scheme": "exact",
      "network": "eip155:196",
      "payTo": "0x14c1cf26360F42681105A03137CF6951BdDB1293",
      "asset": "0x4ae46a509f6b1d9056937ba4500cb143933d2dc8",
      "amount": "1000",
      "maxTimeoutSeconds": 300
    },
    {
      "scheme": "exact",
      "network": "eip155:196",
      "payTo": "0x14c1cf26360F42681105A03137CF6951BdDB1293",
      "asset": "0x779ded0c9e1022225f8e0630b35a9b54be713736",
      "amount": "1000",
      "maxTimeoutSeconds": 300
    },
    {
      "scheme": "exact",
      "network": "eip155:196",
      "payTo": "0x14c1cf26360F42681105A03137CF6951BdDB1293",
      "asset": "0x74b7f16337b8972027f6196a17a631ac6de26d22",
      "amount": "1000",
      "maxTimeoutSeconds": 300
    }
  ],
  "outputSchema": {
    "bazaar": {
      "info": {
        "input": {
          "body": {
            "action": "CLAIM_REWARDS",
            "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
            "passthrough": "aaabbbcccdddeeefff",
            "yieldId": "ethereum-matic-native-staking"
          },
          "bodyType": "json",
          "method": "POST",
          "type": "http"
        },
        "output": {
          "example": {
            "address": "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
            "amount": null,
            "executionPattern": "synchronous",
            "id": "7a2b9c4d-1e5f-4a8b-9c3d-6e7f8a9b0c1d",
            "intent": "manage",
            "status": "CREATED",
            "transactions": [
              {
                "id": "5e6f7a8b-9c0d-1e2f-3a4b-5c6d7e8f9a0b",
                "network": "ethereum",
                "status": "CREATED",
                "stepIndex": 0,
                "title": "CLAIM_REWARDS Transaction",
                "type": "CLAIM_REWARDS",
                "unsignedTransaction": "{\"from\":\"0xd8dA…\",\"to\":\"0x5e3e…\",\"data\":\"0x8f2e…\"}"
              }
            ],
            "type": "CLAIM_REWARDS",
            "yieldId": "ethereum-matic-native-staking"
          },
          "type": "json"
        }
      },
      "schema": {
        "$schema": "https://json-schema.org/draft/2020-12/schema",
        "properties": {
          "input": {
            "additionalProperties": false,
            "properties": {
              "body": {
                "properties": {
                  "action": {
                    "description": "Pending action type from yields_get_balances pendingActions[].type, e.g. \"CLAIM_REWARDS\", \"RESTAKE_REWARDS\", \"UNLOCK\", \"WITHDRAW\"",
                    "type": "string"
                  },
                  "address": {
                    "description": "Wallet address that owns the position",
                    "type": "string"
                  },
                  "amount": {
                    "description": "Human-readable token amount, when the action requires one",
                    "type": "string"
                  },
                  "passthrough": {
                    "description": "Opaque token from yields_get_balances pendingActions[].passthrough — pass it back verbatim",
                    "type": "string"
                  },
                  "yieldId": {
                    "description": "Yield ID of the position, e.g. \"ethereum-matic-native-staking\"",
                    "type": "string"
                  }
                },
                "required": [
                  "yieldId",
                  "address",
                  "action",
                  "passthrough"
                ],
                "type": "object"
              },
              "bodyType": {
                "enum": [
                  "json",
                  "form-data",
                  "text"
                ],
                "type": "string"
              },
              "method": {
                "enum": [
                  "POST"
                ],
                "type": "string"
              },
              "type": {
                "const": "http",
                "type": "string"
              }
            },
            "required": [
              "type",
              "method",
              "bodyType",
              "body"
            ],
            "type": "object"
          },
          "output": {
            "properties": {
              "example": {
                "description": "Core fields shown; responses may carry additional yield-specific fields depending on the protocol (this schema is intentionally non-exhaustive).",
                "properties": {
                  "address": {
                    "type": "string"
                  },
                  "amount": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "createdAt": {
                    "type": "string"
                  },
                  "executionPattern": {
                    "enum": [
                      "synchronous",
                      "asynchronous",
                      "batch"
                    ],
                    "type": "string"
                  },
                  "id": {
                    "description": "Action ID — poll status later with actions_get",
                    "type": "string"
                  },
                  "intent": {
                    "description": "\"enter\", \"exit\", or \"manage\"",
                    "type": "string"
                  },
                  "status": {
                    "description": "\"CREATED\" on success; poll until SUCCESS/FAILED",
                    "type": "string"
                  },
                  "transactions": {
                    "description": "Sign and broadcast each transaction in stepIndex order, then report each hash via submit_hash. NEVER modify unsignedTransaction.",
                    "items": {
                      "properties": {
                        "gasEstimate": {
                          "type": "string"
                        },
                        "id": {
                          "type": "string"
                        },
                        "isMessage": {
                          "description": "When true, sign as a message instead of a transaction",
                          "type": "boolean"
                        },
                        "network": {
                          "type": "string"
                        },
                        "status": {
                          "type": "string"
                        },
                        "stepIndex": {
                          "type": "integer"
                        },
                        "title": {
                          "type": "string"
                        },
                        "type": {
                          "description": "e.g. \"APPROVAL\", \"SUPPLY\", \"STAKE\"",
                          "type": "string"
                        },
                        "unsignedTransaction": {
                          "description": "Raw transaction to sign — a JSON string on EVM chains, an object on non-EVM chains. Never modify it."
                        }
                      },
                      "type": "object"
                    },
                    "type": "array"
                  },
                  "type": {
                    "description": "Action type, e.g. \"STAKE\", \"UNSTAKE\", \"CLAIM_REWARDS\"",
                    "type": "string"
                  },
                  "yieldId": {
                    "type": "string"
                  }
                },
                "type": "object"
              },
              "type": {
                "type": "string"
              }
            },
            "required": [
              "type"
            ],
            "type": "object"
          }
        },
        "required": [
          "input"
        ],
        "type": "object"
      }
    }
  },
  "tags": [
    "bazaar"
  ],
  "sourceHost": "mcp.yield.xyz",
  "lastUpdated": "2026-09-08T17:45:54.113Z",
  "quality": {
    "calls30d": 1,
    "uniquePayers30d": 1,
    "lastCalledAt": "2026-09-08T17:45:53.946Z"
  },
  "liveness": {},
  "verified": false,
  "featured": false,
  "provider": {
    "host": "mcp.yield.xyz",
    "manifest_name": "mcp.yield.xyz",
    "source": "cdp-mirror",
    "source_manifest_url": "https://api.cdp.coinbase.com/platform/v2/x402/discovery/resources",
    "submitted_at": "2026-09-18T22:00:31.484Z"
  }
}