naftiko: 1.0.0-alpha2 info: label: "Fireblocks Staking \u2014 Staking" description: Fireblocks Staking business capability. 14 operations against the Fireblocks REST API v1. tags: - Fireblocks - Staking created: '2026-05-25' modified: '2026-05-25' binds: - namespace: env keys: FIREBLOCKS_API_KEY: FIREBLOCKS_API_KEY FIREBLOCKS_API_SECRET: FIREBLOCKS_API_SECRET capability: consumes: - type: http namespace: staking baseUri: https://api.fireblocks.io/v1 description: Fireblocks Staking REST capability. JWT-signed using API key + RSA private key. resources: - name: getchains path: /staking/chains operations: - name: getchains method: GET description: List supported chains for Fireblocks Staking outputRawFormat: json outputParameters: - name: result type: object value: $. - name: mergestakeaccounts path: /staking/chains/{chainDescriptor}/merge operations: - name: mergestakeaccounts method: POST description: Merge operation on Solana stake accounts outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: getchaininfo path: /staking/chains/{chainDescriptor}/chainInfo operations: - name: getchaininfo method: GET description: Get chain-specific staking summary outputRawFormat: json outputParameters: - name: result type: object value: $. - name: stake path: /staking/chains/{chainDescriptor}/stake operations: - name: stake method: POST description: Initiate Stake Operation outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: unstake path: /staking/chains/{chainDescriptor}/unstake operations: - name: unstake method: POST description: Execute an Unstake operation outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: withdraw path: /staking/chains/{chainDescriptor}/withdraw operations: - name: withdraw method: POST description: Execute a Withdraw operation outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: claimrewards path: /staking/chains/{chainDescriptor}/claim_rewards operations: - name: claimrewards method: POST description: Execute a Claim Rewards operation outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: split path: /staking/chains/{chainDescriptor}/split operations: - name: split method: POST description: Execute a Split operation outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: getalldelegations path: /staking/positions operations: - name: getalldelegations method: GET description: List staking positions details outputRawFormat: json outputParameters: - name: result type: object value: $. - name: getsummary path: /staking/positions/summary operations: - name: getsummary method: GET description: Get staking summary details outputRawFormat: json outputParameters: - name: result type: object value: $. - name: getsummarybyvault path: /staking/positions/summary/vaults operations: - name: getsummarybyvault method: GET description: Get staking summary details by vault outputRawFormat: json outputParameters: - name: result type: object value: $. - name: getdelegationbyid path: /staking/positions/{id} operations: - name: getdelegationbyid method: GET description: Get staking position details outputRawFormat: json outputParameters: - name: result type: object value: $. - name: getproviders path: /staking/providers operations: - name: getproviders method: GET description: List staking providers details outputRawFormat: json outputParameters: - name: result type: object value: $. - name: approvetermsofservicebyproviderid path: /staking/providers/{providerId}/approveTermsOfService operations: - name: approvetermsofservicebyproviderid method: POST description: Approve staking terms of service outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true authentication: type: apikey key: X-API-Key value: '{{env.FIREBLOCKS_API_KEY}}' placement: header exposes: - type: rest namespace: staking-rest port: 8080 description: REST adapter for Fireblocks Staking. resources: - path: /v1/staking/chains name: getchains description: List supported chains for Fireblocks Staking operations: - method: GET name: getchains description: List supported chains for Fireblocks Staking call: staking.getchains outputParameters: - type: object mapping: $. - path: /v1/staking/chains/{chainDescriptor}/merge name: mergestakeaccounts description: Merge operation on Solana stake accounts operations: - method: POST name: mergestakeaccounts description: Merge operation on Solana stake accounts call: staking.mergestakeaccounts outputParameters: - type: object mapping: $. with: body: rest.body - path: /v1/staking/chains/{chainDescriptor}/chainInfo name: getchaininfo description: Get chain-specific staking summary operations: - method: GET name: getchaininfo description: Get chain-specific staking summary call: staking.getchaininfo outputParameters: - type: object mapping: $. - path: /v1/staking/chains/{chainDescriptor}/stake name: stake description: Initiate Stake Operation operations: - method: POST name: stake description: Initiate Stake Operation call: staking.stake outputParameters: - type: object mapping: $. with: body: rest.body - path: /v1/staking/chains/{chainDescriptor}/unstake name: unstake description: Execute an Unstake operation operations: - method: POST name: unstake description: Execute an Unstake operation call: staking.unstake outputParameters: - type: object mapping: $. with: body: rest.body - path: /v1/staking/chains/{chainDescriptor}/withdraw name: withdraw description: Execute a Withdraw operation operations: - method: POST name: withdraw description: Execute a Withdraw operation call: staking.withdraw outputParameters: - type: object mapping: $. with: body: rest.body - path: /v1/staking/chains/{chainDescriptor}/claim_rewards name: claimrewards description: Execute a Claim Rewards operation operations: - method: POST name: claimrewards description: Execute a Claim Rewards operation call: staking.claimrewards outputParameters: - type: object mapping: $. with: body: rest.body - path: /v1/staking/chains/{chainDescriptor}/split name: split description: Execute a Split operation operations: - method: POST name: split description: Execute a Split operation call: staking.split outputParameters: - type: object mapping: $. with: body: rest.body - path: /v1/staking/positions name: getalldelegations description: List staking positions details operations: - method: GET name: getalldelegations description: List staking positions details call: staking.getalldelegations outputParameters: - type: object mapping: $. - path: /v1/staking/positions/summary name: getsummary description: Get staking summary details operations: - method: GET name: getsummary description: Get staking summary details call: staking.getsummary outputParameters: - type: object mapping: $. - path: /v1/staking/positions/summary/vaults name: getsummarybyvault description: Get staking summary details by vault operations: - method: GET name: getsummarybyvault description: Get staking summary details by vault call: staking.getsummarybyvault outputParameters: - type: object mapping: $. - path: /v1/staking/positions/{id} name: getdelegationbyid description: Get staking position details operations: - method: GET name: getdelegationbyid description: Get staking position details call: staking.getdelegationbyid outputParameters: - type: object mapping: $. - path: /v1/staking/providers name: getproviders description: List staking providers details operations: - method: GET name: getproviders description: List staking providers details call: staking.getproviders outputParameters: - type: object mapping: $. - path: /v1/staking/providers/{providerId}/approveTermsOfService name: approvetermsofservicebyproviderid description: Approve staking terms of service operations: - method: POST name: approvetermsofservicebyproviderid description: Approve staking terms of service call: staking.approvetermsofservicebyproviderid outputParameters: - type: object mapping: $. with: body: rest.body - type: mcp namespace: staking-mcp port: 9090 transport: http description: MCP adapter for Fireblocks Staking. One tool per consumed operation. tools: - name: fireblocks-getchains description: List supported chains for Fireblocks Staking hints: readOnly: true destructive: false idempotent: true call: staking.getchains outputParameters: - type: object mapping: $. - name: fireblocks-mergestakeaccounts description: Merge operation on Solana stake accounts hints: readOnly: false destructive: false idempotent: false call: staking.mergestakeaccounts outputParameters: - type: object mapping: $. with: body: tools.body - name: fireblocks-getchaininfo description: Get chain-specific staking summary hints: readOnly: true destructive: false idempotent: true call: staking.getchaininfo outputParameters: - type: object mapping: $. - name: fireblocks-stake description: Initiate Stake Operation hints: readOnly: false destructive: false idempotent: false call: staking.stake outputParameters: - type: object mapping: $. with: body: tools.body - name: fireblocks-unstake description: Execute an Unstake operation hints: readOnly: false destructive: false idempotent: false call: staking.unstake outputParameters: - type: object mapping: $. with: body: tools.body - name: fireblocks-withdraw description: Execute a Withdraw operation hints: readOnly: false destructive: false idempotent: false call: staking.withdraw outputParameters: - type: object mapping: $. with: body: tools.body - name: fireblocks-claimrewards description: Execute a Claim Rewards operation hints: readOnly: false destructive: false idempotent: false call: staking.claimrewards outputParameters: - type: object mapping: $. with: body: tools.body - name: fireblocks-split description: Execute a Split operation hints: readOnly: false destructive: false idempotent: false call: staking.split outputParameters: - type: object mapping: $. with: body: tools.body - name: fireblocks-getalldelegations description: List staking positions details hints: readOnly: true destructive: false idempotent: true call: staking.getalldelegations outputParameters: - type: object mapping: $. - name: fireblocks-getsummary description: Get staking summary details hints: readOnly: true destructive: false idempotent: true call: staking.getsummary outputParameters: - type: object mapping: $. - name: fireblocks-getsummarybyvault description: Get staking summary details by vault hints: readOnly: true destructive: false idempotent: true call: staking.getsummarybyvault outputParameters: - type: object mapping: $. - name: fireblocks-getdelegationbyid description: Get staking position details hints: readOnly: true destructive: false idempotent: true call: staking.getdelegationbyid outputParameters: - type: object mapping: $. - name: fireblocks-getproviders description: List staking providers details hints: readOnly: true destructive: false idempotent: true call: staking.getproviders outputParameters: - type: object mapping: $. - name: fireblocks-approvetermsofservicebyproviderid description: Approve staking terms of service hints: readOnly: false destructive: false idempotent: false call: staking.approvetermsofservicebyproviderid outputParameters: - type: object mapping: $. with: body: tools.body