{"openapi":"3.0.0","paths":{"/api/v1/health":{"get":{"operationId":"HealthController_check_v1","parameters":[],"responses":{"200":{"description":"The Health Check is successful","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","example":"ok"},"info":{"type":"object","example":{"database":{"status":"up"}},"additionalProperties":{"type":"object","required":["status"],"properties":{"status":{"type":"string"}},"additionalProperties":true},"nullable":true},"error":{"type":"object","example":{},"additionalProperties":{"type":"object","required":["status"],"properties":{"status":{"type":"string"}},"additionalProperties":true},"nullable":true},"details":{"type":"object","example":{"database":{"status":"up"}},"additionalProperties":{"type":"object","required":["status"],"properties":{"status":{"type":"string"}},"additionalProperties":true}}}}}}},"503":{"description":"The Health Check is not successful","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","example":"error"},"info":{"type":"object","example":{"database":{"status":"up"}},"additionalProperties":{"type":"object","required":["status"],"properties":{"status":{"type":"string"}},"additionalProperties":true},"nullable":true},"error":{"type":"object","example":{"redis":{"status":"down","message":"Could not connect"}},"additionalProperties":{"type":"object","required":["status"],"properties":{"status":{"type":"string"}},"additionalProperties":true},"nullable":true},"details":{"type":"object","example":{"database":{"status":"up"},"redis":{"status":"down","message":"Could not connect"}},"additionalProperties":{"type":"object","required":["status"],"properties":{"status":{"type":"string"}},"additionalProperties":true}}}}}}}},"summary":"Liveness and database health check","tags":["Health"]}},"/api/v1/apikeys":{"post":{"operationId":"ApikeysController_create_v1","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateApikeyDto"}}}},"responses":{"201":{"description":"Create a new Api key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateApikeyResponseDto"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"token":[]},{"bearer":[]}],"summary":"Create a new API key","tags":["Apikeys"]},"get":{"operationId":"ApikeysController_findAll_v1","parameters":[],"responses":{"200":{"description":"Get all Api keys","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/GetApikeyResponseDto"}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"token":[]},{"bearer":[]}],"summary":"List all API keys","tags":["Apikeys"]}},"/api/v1/apikeys/{ulid}":{"get":{"operationId":"ApikeysController_findOne_v1","parameters":[{"name":"ulid","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Get a single Api key by ulid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetApikeyResponseDto"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}},"404":{"description":"Entity not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"token":[]},{"bearer":[]}],"summary":"Get an API key by ulid","tags":["Apikeys"]},"patch":{"operationId":"ApikeysController_update_v1","parameters":[{"name":"ulid","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateApikeyDto"}}}},"responses":{"200":{"description":"Modify Api key name, description, expirationDate or active/deactivate by ulid","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/GetApikeyResponseDto"}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"token":[]},{"bearer":[]}],"summary":"Update an API key by ulid","tags":["Apikeys"]},"delete":{"operationId":"ApikeysController_remove_v1","parameters":[{"name":"ulid","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Delete a single Api key by ulid"},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"token":[]},{"bearer":[]}],"summary":"Delete an API key by ulid","tags":["Apikeys"]}},"/api/v1/cosmoshub/native/action/stake":{"post":{"operationId":"CosmoshubController_stake_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StakeActionDto"}}}},"responses":{"200":{"description":"Craft a stake transaction","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StakingActionResponseDto"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Craft a stake transaction","tags":["Cosmos Hub/Native Staking"]}},"/api/v1/cosmoshub/native/action/unstake":{"post":{"operationId":"CosmoshubController_unstake_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnstakeActionDto"}}}},"responses":{"200":{"description":"Craft an unstake transaction","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StakingActionResponseDto"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Craft an unstake transaction","tags":["Cosmos Hub/Native Staking"]}},"/api/v1/cosmoshub/native/action/claim-rewards":{"post":{"operationId":"CosmoshubController_claimRewards_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClaimRewardsActionDto"}}}},"responses":{"200":{"description":"Craft a claim-rewards transaction","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StakingActionResponseDto"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Craft a claim-rewards transaction","tags":["Cosmos Hub/Native Staking"]}},"/api/v1/cosmoshub/native/action/prepare":{"post":{"operationId":"CosmoshubController_prepare_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PrepareActionDto"}}}},"responses":{"200":{"description":"Prepare a signed transaction by gathering the provided signatures with the unsigned transaction hex string","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PrepareActionResponseDto"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Prepare a signed transaction","tags":["Cosmos Hub/Native Staking"]}},"/api/v1/cosmoshub/native/action/broadcast":{"post":{"operationId":"CosmoshubController_broadcast_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BroadcastActionDto"}}}},"responses":{"200":{"description":"Broadcast signed transaction","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BroadcastActionResponseDto"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Broadcast a signed transaction","tags":["Cosmos Hub/Native Staking"]}},"/api/v1/cosmoshub/native/staking-balance/{address}":{"get":{"operationId":"CosmoshubController_getStakingBalance_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"address","required":true,"in":"path","description":"Cosmos Hub wallet address","schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Staking balance for an address in the unified cross-protocol shape, in ATOM. Delegations are effective in the next block and unbonded funds are credited automatically, so activation and withdrawing are null. Each unbonding entry is listed as a staking object with its completion time; delegations have no id of their own and unstaking is amount-based, so the active stake contributes no objects.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StakingBalanceResponseDto"},"example":{"staked_amount":5.2,"stake_activation_amount":null,"stake_deactivation_amount":2.1,"stake_withdrawing_amount":null,"stake_rewards_amount":0.352145,"staking_objects":[{"id":"1552138","type":"withdrawal_request","status":"deactivating","amount":2.1,"rewards_amount":null,"validator_address":null,"activation_epoch":null,"withdrawable_epoch":null,"withdrawable_at":"2026-08-19T09:14:18.000Z"}]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Get the unified staking balance for an address","tags":["Cosmos Hub/Native Staking"]}},"/api/v1/cosmoshub/native/staking-info":{"get":{"operationId":"CosmoshubController_getStakingInfo_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Staking parameters for Cosmos Hub mainnet: activation, deactivation and withdrawal times in minutes, fees, current APR/APY, slashing risk and stake limits. Served from an in-memory snapshot refreshed hourly.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StakingInfoResponseDto"},"example":{"stake_activation_max_time":0,"stake_deactivation_max_time":30240,"withdrawal_max_time":0,"staking_reward_fee":5,"withdrawal_fee":0,"staking_apr":14.31,"staking_apy":15.38,"max_slashing_percentage":5,"min_stake_amount":"0.000001","max_stake_amount":null,"users":6003,"tvl_usd":1290323.61,"tvl_token":1001026.852}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Get staking information","tags":["Cosmos Hub/Native Staking"]}},"/api/v1/cosmoshub/native/networks":{"get":{"operationId":"CosmoshubController_getNetworks_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Get available networks for Cosmos Hub","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/NetworkResponseDto"}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"List available networks","tags":["Cosmos Hub/Native Staking"]}},"/api/v1/celestia/native/action/stake":{"post":{"operationId":"CelestiaController_stake_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CelestiaStakeActionDto"}}}},"responses":{"200":{"description":"Craft a stake transaction","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StakingActionResponseDto"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Craft a stake transaction","tags":["Celestia/Native Staking"]}},"/api/v1/celestia/native/action/unstake":{"post":{"operationId":"CelestiaController_unstake_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CelestiaUnstakeActionDto"}}}},"responses":{"200":{"description":"Craft an unstake transaction","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StakingActionResponseDto"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Craft an unstake transaction","tags":["Celestia/Native Staking"]}},"/api/v1/celestia/native/action/claim-rewards":{"post":{"operationId":"CelestiaController_claimRewards_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClaimRewardsActionDto"}}}},"responses":{"200":{"description":"Craft a claim-rewards transaction","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StakingActionResponseDto"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Craft a claim-rewards transaction","tags":["Celestia/Native Staking"]}},"/api/v1/celestia/native/action/prepare":{"post":{"operationId":"CelestiaController_prepare_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PrepareActionDto"}}}},"responses":{"200":{"description":"Prepare a signed transaction by gathering the provided signatures with the unsigned transaction hex string","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PrepareActionResponseDto"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Prepare a signed transaction","tags":["Celestia/Native Staking"]}},"/api/v1/celestia/native/action/broadcast":{"post":{"operationId":"CelestiaController_broadcast_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BroadcastActionDto"}}}},"responses":{"200":{"description":"Broadcast signed transaction","content":{"application/json":{"schema":{"$ref":"#/components/schemas/BroadcastActionResponseDto"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Broadcast a signed transaction","tags":["Celestia/Native Staking"]}},"/api/v1/celestia/native/staking-balance/{address}":{"get":{"operationId":"CelestiaController_getStakingBalance_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"address","required":true,"in":"path","description":"Celestia wallet address","schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Staking balance for an address in the unified cross-protocol shape, in TIA. Delegations are effective in the next block and unbonded funds are credited automatically, so activation and withdrawing are null. Each unbonding entry is listed as a staking object with its completion time; delegations have no id of their own and unstaking is amount-based, so the active stake contributes no objects.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StakingBalanceResponseDto"},"example":{"staked_amount":120.5,"stake_activation_amount":null,"stake_deactivation_amount":10,"stake_withdrawing_amount":null,"stake_rewards_amount":1.284302,"staking_objects":[{"id":"482911","type":"withdrawal_request","status":"deactivating","amount":10,"rewards_amount":null,"validator_address":null,"activation_epoch":null,"withdrawable_epoch":null,"withdrawable_at":"2026-08-12T17:41:05.000Z"}]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Get the unified staking balance for an address","tags":["Celestia/Native Staking"]}},"/api/v1/celestia/native/staking-info":{"get":{"operationId":"CelestiaController_getStakingInfo_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Staking parameters for Celestia mainnet: activation, deactivation and withdrawal times in minutes, fees, current APR/APY, slashing risk and stake limits. Served from an in-memory snapshot refreshed hourly.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StakingInfoResponseDto"},"example":{"stake_activation_max_time":0,"stake_deactivation_max_time":20220,"withdrawal_max_time":0,"staking_reward_fee":14,"withdrawal_fee":0,"staking_apr":5.19,"staking_apy":5.33,"max_slashing_percentage":2,"min_stake_amount":"0.000001","max_stake_amount":null,"users":2691,"tvl_usd":1398203.66,"tvl_token":4383083.576}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Get staking information","tags":["Celestia/Native Staking"]}},"/api/v1/celestia/native/networks":{"get":{"operationId":"CelestiaController_getNetworks_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Get available networks for Celestia","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CelestiaNetworkResponseDto"}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"List available networks","tags":["Celestia/Native Staking"]}},"/api/v1/ethereum/stakewise/action/stake":{"post":{"operationId":"StakewiseController_stake_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StakewiseStakeActionDto"}}}},"responses":{"200":{"description":"Craft a stake transaction","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EthActionResponseDto"}}}},"400":{"description":"Validation error - insufficient balance or invalid stake amount","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}},"422":{"description":"Unprocessable Entity error message, it may vary depending on the error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Craft a stake transaction","tags":["Ethereum/StakeWise"]}},"/api/v1/ethereum/stakewise/action/unstake":{"post":{"operationId":"StakewiseController_unstake_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StakewiseStakeActionDto"}}}},"responses":{"200":{"description":"Craft an unstake transaction. The transaction puts the requested amount into the vault exit queue. The maximum amount is the staked balance of the address, minus the assets that keep the minted osToken safe. If the amount is more than this maximum, but by less than the precision of a JSON number, the API crafts the transaction for the maximum. Such an amount shows that the caller wants to unstake the full balance, because a JSON number cannot give all 18 decimals of the `assets` value that the API supplied. If the amount is more than the maximum by a larger quantity, the API returns a 422.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EthActionResponseDto"}}}},"400":{"description":"Validation error - the amount has more decimals than wei","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}},"422":{"description":"The amount to unstake is more than the staked balance of the address, or the request body is not valid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Craft an unstake transaction","tags":["Ethereum/StakeWise"]}},"/api/v1/ethereum/stakewise/action/withdraw":{"post":{"operationId":"StakewiseController_withdraw_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StakewiseWithdrawActionDto"}}}},"responses":{"200":{"description":"Withdraw already exited stake","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StakewiseStakeActionDto"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Withdraw already exited stake","tags":["Ethereum/StakeWise"]}},"/api/v1/ethereum/stakewise/action/prepare":{"post":{"operationId":"StakewiseController_prepare_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EthPrepareActionDto"}}}},"responses":{"200":{"description":"Prepare a signed transaction by gathering the provided signatures with the unsigned transaction hex string","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EthPrepareActionResponseDto"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Prepare a signed transaction","tags":["Ethereum/StakeWise"]}},"/api/v1/ethereum/stakewise/action/broadcast":{"post":{"operationId":"StakewiseController_broadcast_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EthBroadcastActionDto"}}}},"responses":{"200":{"description":"Broadcast signed transaction","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EthBroadcastActionResponseDto"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Broadcast a signed transaction","tags":["Ethereum/StakeWise"]}},"/api/v1/ethereum/stakewise/historic/{address}":{"get":{"operationId":"StakewiseController_getActions_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"address","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Get address stakewise actions","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StakewiseGetActionResponseDto"}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Get StakeWise actions for an address","tags":["Ethereum/StakeWise"]}},"/api/v1/ethereum/stakewise/vault":{"get":{"operationId":"StakewiseController_getVaultDetails_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Get vault details, as current APY","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StakewiseGetVaultResponseDto"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Get vault details such as current APY","tags":["Ethereum/StakeWise"]}},"/api/v1/ethereum/stakewise/stats/{address}":{"get":{"operationId":"StakewiseController_getUserStats_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"address","required":true,"in":"path","schema":{"type":"string"}},{"name":"days","required":false,"in":"query","description":"Number of days to retrieve stats for, if not provided 7 days will be used as default","schema":{"type":"number"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Get user stats for stakewise vault","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StakewiseGetUserStatsResponseDto"}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Get user stats for the StakeWise vault","tags":["Ethereum/StakeWise"]}},"/api/v1/ethereum/stakewise/staking-balance/{address}":{"get":{"operationId":"StakewiseController_getStakingBalance_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"address","required":true,"in":"path","schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Staking balance for an address in the unified cross-protocol shape, in ETH. Vault shares are minted on deposit, so activation is null, and the exit queue is split into deactivating and withdrawable. Rewards compound through the vault share price, so there is nothing separate to claim and the rewards bucket reports the unrealized gain of the position: what the vault shares held are worth today over what they cost, rebuilt from the deposit history of the address at average cost. Being part of what the shares are worth, it is already contained in the staked amount and — unlike on the protocols that pay rewards separately — must not be added to it. It returns to 0 once the position is exited in full, and turns negative if the vault has been penalised below the entry price. It is null when the deposit history does not account for the shares held, since the gain cannot be established without them. Each exit queue ticket is listed as a staking object — the withdraw endpoint claims all claimable tickets of the address at once, so their ids are informational.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StakingBalanceResponseDto"},"example":{"staked_amount":4.703704937280252,"stake_activation_amount":null,"stake_deactivation_amount":0.4000625951448294,"stake_withdrawing_amount":2.0403431925398383,"stake_rewards_amount":0.014107853906184,"staking_objects":[{"id":"2000017702121399987","type":"withdrawal_request","status":"withdrawable","amount":2.0403431925398383,"rewards_amount":null,"validator_address":null,"activation_epoch":null,"withdrawable_epoch":null,"withdrawable_at":null},{"id":"2397621601411000795","type":"withdrawal_request","status":"deactivating","amount":0.4000625951448294,"rewards_amount":null,"validator_address":null,"activation_epoch":null,"withdrawable_epoch":null,"withdrawable_at":"2026-08-01T06:20:00.000Z"}]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Get the unified staking balance for an address","tags":["Ethereum/StakeWise"]}},"/api/v1/ethereum/stakewise/staking-info":{"get":{"operationId":"StakewiseController_getStakingInfo_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Staking parameters for the StakeWise vault on Ethereum mainnet: activation, deactivation and withdrawal times in minutes, fees, current APR/APY, slashing risk and stake limits. Served from an in-memory snapshot refreshed hourly.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StakingInfoResponseDto"},"example":{"stake_activation_max_time":0,"stake_deactivation_max_time":43200,"withdrawal_max_time":null,"staking_reward_fee":5,"withdrawal_fee":0,"staking_apr":2.18,"staking_apy":2.22,"max_slashing_percentage":100,"min_stake_amount":"0","max_stake_amount":null,"users":null,"tvl_usd":null,"tvl_token":null}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Get staking information","tags":["Ethereum/StakeWise"]}},"/api/v1/ethereum/stakewise/networks":{"get":{"operationId":"StakewiseController_getNetworks_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Get available networks for Ethereum StakeWise","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StakewiseNetworkResponseDto"}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"List available networks","tags":["Ethereum/StakeWise"]}},"/api/v1/monad/native/action/delegate":{"post":{"operationId":"MonadController_delegate_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MonadStakeActionDto"}}}},"responses":{"200":{"description":"Craft a delegate transaction payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EthActionResponseDto"}}}},"400":{"description":"Validation error - insufficient balance or invalid delegate amount","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Craft a delegate transaction","tags":["Monad/Native Staking"]}},"/api/v1/monad/native/action/undelegate":{"post":{"operationId":"MonadController_undelegate_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MonadUndelegateActionDto"}}}},"responses":{"200":{"description":"Craft an undelegate transaction payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EthActionResponseDto"}}}},"400":{"description":"Validation error - insufficient stake or invalid undelegate amount","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Craft an undelegate transaction","tags":["Monad/Native Staking"]}},"/api/v1/monad/native/action/withdraw":{"post":{"operationId":"MonadController_withdraw_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MonadWithdrawActionDto"}}}},"responses":{"200":{"description":"Craft a withdraw transaction payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EthActionResponseDto"}}}},"400":{"description":"Withdrawal not yet available or invalid","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}},"404":{"description":"No withdrawal request found for the given withdrawId","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Craft a withdraw transaction","tags":["Monad/Native Staking"]}},"/api/v1/monad/native/action/claim-rewards":{"post":{"operationId":"MonadController_claimRewards_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MonadClaimRewardsActionDto"}}}},"responses":{"200":{"description":"Craft a claim rewards transaction payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EthActionResponseDto"}}}},"400":{"description":"No rewards available to claim","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Craft a claim-rewards transaction","tags":["Monad/Native Staking"]}},"/api/v1/monad/native/action/compound":{"post":{"operationId":"MonadController_compound_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MonadCompoundActionDto"}}}},"responses":{"200":{"description":"Craft a compound rewards transaction payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EthActionResponseDto"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}},"422":{"description":"Validation error - delegator must have a position and rewards to compound","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Craft a compound-rewards transaction","tags":["Monad/Native Staking"]}},"/api/v1/monad/native/action/prepare":{"post":{"operationId":"MonadController_prepare_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EthPrepareActionDto"}}}},"responses":{"200":{"description":"Prepare a signed transaction by gathering r,s,v over the unsigned payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EthPrepareActionResponseDto"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Prepare a signed transaction","tags":["Monad/Native Staking"]}},"/api/v1/monad/native/action/broadcast":{"post":{"operationId":"MonadController_broadcast_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EthBroadcastActionDto"}}}},"responses":{"200":{"description":"Broadcast a signed Monad transaction","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EthBroadcastActionResponseDto"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Broadcast a signed transaction","tags":["Monad/Native Staking"]}},"/api/v1/monad/native/withdrawals/{address}":{"get":{"operationId":"MonadController_getWithdrawalRequests_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}},{"name":"address","required":true,"in":"path","schema":{"type":"string"}},{"name":"startWithdrawId","required":false,"in":"query","description":"Start withdrawal id (defaults to 0)","schema":{"minimum":0,"maximum":255,"example":0,"type":"number"}},{"name":"endWithdrawId","required":false,"in":"query","description":"End withdrawal id (defaults to 255)","schema":{"minimum":0,"maximum":255,"example":255,"type":"number"}}],"responses":{"200":{"description":"Retrieve withdrawal requests for a delegator with values converted to ether units","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetWithdrawalRequestsResponseDto"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}},"422":{"description":"Validation error - startWithdrawId and endWithdrawId must be between 0 and 255 (inclusive)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Get withdrawal requests for an address","tags":["Monad/Native Staking"]}},"/api/v1/monad/native/withdrawal/{address}/{withdrawId}":{"get":{"operationId":"MonadController_getWithdrawalRequest_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}},{"name":"address","required":true,"in":"path","description":"Delegator address","schema":{"example":"0xb794f5ea0ba39494ce839613fffba74279579268","type":"string"}},{"name":"withdrawId","required":true,"in":"path","description":"Withdrawal slot identifier (0-255)","schema":{"minimum":0,"maximum":255,"example":0,"type":"number"}}],"responses":{"200":{"description":"Retrieve a single withdrawal request with values converted to ether units","content":{"application/json":{"schema":{"$ref":"#/components/schemas/GetWithdrawalRequestResponseDto"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}},"422":{"description":"Validation error - withdrawId must be between 0 and 255 (inclusive)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Get a single withdrawal request","tags":["Monad/Native Staking"]}},"/api/v1/monad/native/staking-balance/{address}":{"get":{"operationId":"MonadController_getStakingBalance_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}},{"name":"address","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Staking balance for an address in the unified cross-protocol shape, in MON. Pending stake deltas are reported as activation, and withdrawal requests are split into deactivating and withdrawable against the current epoch. Each withdrawal request is listed as a staking object whose id is the `withdrawId` the withdraw endpoint takes; those ids are also the slots already in use, so an undelegate must pick a `withdrawId` in 0-255 that is not listed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StakingBalanceResponseDto"},"example":{"staked_amount":0.02899999999999488,"stake_activation_amount":0,"stake_deactivation_amount":0,"stake_withdrawing_amount":0.001,"stake_rewards_amount":0.000734768136568025,"staking_objects":[{"id":"1","type":"withdrawal_request","status":"withdrawable","amount":0.001,"rewards_amount":null,"validator_address":null,"activation_epoch":null,"withdrawable_epoch":1453,"withdrawable_at":null}]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Get the unified staking balance for an address","tags":["Monad/Native Staking"]}},"/api/v1/monad/native/staking-info":{"get":{"operationId":"MonadController_getStakingInfo_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Staking parameters for Monad native staking: activation, deactivation and withdrawal times in minutes, fees, current APR/APY, slashing risk and stake limits. Served from an in-memory snapshot refreshed hourly.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StakingInfoResponseDto"},"example":{"stake_activation_max_time":330,"stake_deactivation_max_time":660,"withdrawal_max_time":0,"staking_reward_fee":15,"withdrawal_fee":0,"staking_apr":14.65,"staking_apy":15.77,"max_slashing_percentage":0,"min_stake_amount":"0.000000001","max_stake_amount":null,"users":23,"tvl_usd":1115685.17,"tvl_token":53127865.086}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Get staking information","tags":["Monad/Native Staking"]}},"/api/v1/monad/native/networks":{"get":{"operationId":"MonadController_getNetworks_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Get available networks for Monad","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MonadNetworkResponseDto"}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"List available networks","tags":["Monad/Native Staking"]}},"/api/v1/monad/magma/staking-balance/{address}":{"get":{"operationId":"MagmaController_getStakingBalance_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}},{"name":"address","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Staking balance for an address in the unified cross-protocol shape, in MON. gMON is minted on deposit and rewards accrue through the vault share price, so activation and rewards are null. The pending redeem request, if any, is listed as a staking object whose id is the `request_id` the withdraw endpoint takes.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StakingBalanceResponseDto"},"example":{"staked_amount":0.019419737638890818,"stake_activation_amount":null,"stake_deactivation_amount":1.5,"stake_withdrawing_amount":0,"stake_rewards_amount":null,"staking_objects":[{"id":"1","type":"withdrawal_request","status":"deactivating","amount":1.5,"rewards_amount":null,"validator_address":null,"activation_epoch":null,"withdrawable_epoch":null,"withdrawable_at":"2026-07-31T04:15:32.000Z"}]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Get the unified staking balance for an address","tags":["Monad/Magma"]}},"/api/v1/monad/magma/staking-info":{"get":{"operationId":"MagmaController_getStakingInfo_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Staking parameters for Magma on Monad: activation, deactivation and withdrawal times in minutes, fees, current APR/APY, slashing risk and stake limits. Served from an in-memory snapshot refreshed hourly.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StakingInfoResponseDto"},"example":{"stake_activation_max_time":0,"stake_deactivation_max_time":null,"withdrawal_max_time":0,"staking_reward_fee":5,"withdrawal_fee":0.1,"staking_apr":14.65,"staking_apy":15.77,"max_slashing_percentage":0,"min_stake_amount":"100","max_stake_amount":null,"users":null,"tvl_usd":null,"tvl_token":null}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Get staking information","tags":["Monad/Magma"]}},"/api/v1/monad/magma/networks":{"get":{"operationId":"MagmaController_getNetworks_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Get available networks for Magma","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MagmaNetworkResponseDto"}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"List available networks","tags":["Monad/Magma"]}},"/api/v1/monad/magma/action/delegate":{"post":{"operationId":"MagmaController_delegate_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MagmaStakeActionDto"}}}},"responses":{"200":{"description":"Craft a Magma delegate transaction payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EthActionResponseDto"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Craft a delegate transaction","tags":["Monad/Magma"]}},"/api/v1/monad/magma/action/undelegate":{"post":{"operationId":"MagmaController_undelegate_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MagmaUndelegateActionDto"}}}},"responses":{"200":{"description":"Craft a Magma undelegate transaction payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EthActionResponseDto"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Craft an undelegate transaction","tags":["Monad/Magma"]}},"/api/v1/monad/magma/action/withdraw":{"post":{"operationId":"MagmaController_withdraw_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MagmaWithdrawActionDto"}}}},"responses":{"200":{"description":"Craft a Magma withdraw transaction payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EthActionResponseDto"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Craft a withdraw transaction","tags":["Monad/Magma"]}},"/api/v1/monad/magma/action/prepare":{"post":{"operationId":"MagmaController_prepare_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EthPrepareActionDto"}}}},"responses":{"200":{"description":"Prepare a signed transaction by gathering r,s,v over the unsigned payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EthPrepareActionResponseDto"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Prepare a signed transaction","tags":["Monad/Magma"]}},"/api/v1/monad/magma/action/broadcast":{"post":{"operationId":"MagmaController_broadcast_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EthBroadcastActionDto"}}}},"responses":{"200":{"description":"Broadcast a signed Magma transaction","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EthBroadcastActionResponseDto"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Broadcast a signed transaction","tags":["Monad/Magma"]}},"/api/v1/monad/magma/withdrawal/{address}":{"get":{"operationId":"MagmaController_getWithdrawal_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}},{"name":"address","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Get current pending withdrawal info for a Magma address","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/MagmaWithdrawalResponseDto"}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Get pending withdrawal info for an address","tags":["Monad/Magma"]}},"/api/v1/pharos/native/action/delegate":{"post":{"operationId":"PharosController_delegate_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PharosDelegateActionDto"}}}},"responses":{"200":{"description":"Craft a delegate transaction payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EthActionResponseDto"}}}},"400":{"description":"Validation error (balance, pending state, or amount)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Craft a delegate transaction","tags":["Pharos/Native Staking"]}},"/api/v1/pharos/native/action/undelegate":{"post":{"operationId":"PharosController_undelegate_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PharosUndelegateActionDto"}}}},"responses":{"200":{"description":"Craft an undelegate transaction payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EthActionResponseDto"}}}},"400":{"description":"Validation error (no effective stake)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Craft an undelegate transaction","tags":["Pharos/Native Staking"]}},"/api/v1/pharos/native/action/claim-rewards":{"post":{"operationId":"PharosController_claimRewards_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PharosClaimRewardsActionDto"}}}},"responses":{"200":{"description":"Craft a claim-rewards transaction payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EthActionResponseDto"}}}},"400":{"description":"No claimable rewards","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Craft a claim-rewards transaction","tags":["Pharos/Native Staking"]}},"/api/v1/pharos/native/action/compound-rewards":{"post":{"operationId":"PharosController_compoundRewards_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PharosCompoundRewardsActionDto"}}}},"responses":{"200":{"description":"Craft a compound-rewards transaction payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EthActionResponseDto"}}}},"400":{"description":"No claimable rewards","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Craft a compound-rewards transaction","tags":["Pharos/Native Staking"]}},"/api/v1/pharos/native/action/withdraw":{"post":{"operationId":"PharosController_withdraw_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PharosWithdrawActionDto"}}}},"responses":{"200":{"description":"Craft a withdraw (claimStake) transaction payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EthActionResponseDto"}}}},"400":{"description":"Nothing to withdraw or still locked","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Craft a withdraw transaction","tags":["Pharos/Native Staking"]}},"/api/v1/pharos/native/action/prepare":{"post":{"operationId":"PharosController_prepare_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EthPrepareActionDto"}}}},"responses":{"200":{"description":"Prepare a signed Pharos transaction by gathering r,s,v over the unsigned payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EthPrepareActionResponseDto"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Prepare a signed transaction","tags":["Pharos/Native Staking"]}},"/api/v1/pharos/native/action/broadcast":{"post":{"operationId":"PharosController_broadcast_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EthBroadcastActionDto"}}}},"responses":{"200":{"description":"Broadcast a signed Pharos transaction","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EthBroadcastActionResponseDto"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Broadcast a signed transaction","tags":["Pharos/Native Staking"]}},"/api/v1/pharos/native/staking-balance/{address}":{"get":{"operationId":"PharosController_getStakingBalance_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}},{"name":"address","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Staking balance for an address in the unified cross-protocol shape, in PHRS. Every bucket lives on a single delegator struct and both undelegate and withdraw take only the address, so there are no staking objects.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StakingBalanceResponseDto"},"example":{"staked_amount":1,"stake_activation_amount":0,"stake_deactivation_amount":0,"stake_withdrawing_amount":0,"stake_rewards_amount":0,"staking_objects":null}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Get the unified staking balance for an address","tags":["Pharos/Native Staking"]}},"/api/v1/pharos/native/staking-info":{"get":{"operationId":"PharosController_getStakingInfo_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Staking parameters for Pharos native staking: activation, deactivation and withdrawal times in minutes, fees, current APR/APY, slashing risk and stake limits. Served from an in-memory snapshot refreshed hourly.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StakingInfoResponseDto"},"example":{"stake_activation_max_time":240,"stake_deactivation_max_time":20160,"withdrawal_max_time":0,"staking_reward_fee":10,"withdrawal_fee":0,"staking_apr":0,"staking_apy":0,"max_slashing_percentage":0,"min_stake_amount":"1","max_stake_amount":"50000000","users":8,"tvl_usd":1776095.24,"tvl_token":4000214.5}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Get staking information","tags":["Pharos/Native Staking"]}},"/api/v1/pharos/native/networks":{"get":{"operationId":"PharosController_getNetworks_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Get available networks for Pharos","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PharosNetworkResponseDto"}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"List available networks","tags":["Pharos/Native Staking"]}},"/api/v1/ethereum/lido-stvault/action/stake":{"post":{"operationId":"LidoStvaultController_stake_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LidoStvaultStakeActionDto"}}}},"responses":{"200":{"description":"Unsigned transaction that stakes ETH into the Stv pool. When `mint_wsteth_amount` is set, the same transaction also mints that much wstETH against the new position and deposits it into the Mellow vault — that leg is leverage, capped by the pool reserve ratio. This deployment has no synchronous deposit queue, so the Mellow leg settles asynchronously and needs a later call to `action/claim`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EthActionResponseDto"}}}},"400":{"description":"Nothing to stake, or amounts out of range","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}},"422":{"description":"Lido stVault is not deployed on the requested network","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Craft a stake transaction","tags":["Ethereum/Lido stVault Staking"]}},"/api/v1/ethereum/lido-stvault/action/claim":{"post":{"operationId":"LidoStvaultController_claim_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LidoStvaultClaimActionDto"}}}},"responses":{"200":{"description":"Unsigned transaction that claims the shares settled by the asynchronous deposit queue. Poll `pending_deposit_is_claimable` on the balance endpoint to know when it will succeed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EthActionResponseDto"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}},"422":{"description":"Lido stVault is not deployed on the requested network","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Craft a claim transaction","tags":["Ethereum/Lido stVault Staking"]}},"/api/v1/ethereum/lido-stvault/action/unstake":{"post":{"operationId":"LidoStvaultController_unstake_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LidoStvaultUnstakeActionDto"}}}},"responses":{"200":{"description":"Unsigned transaction that requests an exit from the Mellow vault for a given number of vault shares. The request is not cancellable, and the assets are released by `action/withdraw` once the redeem queue settles its batch.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EthActionResponseDto"}}}},"400":{"description":"shares must be greater than 0","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}},"422":{"description":"Lido stVault is not deployed on the requested network","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Craft an unstake transaction","tags":["Ethereum/Lido stVault Staking"]}},"/api/v1/ethereum/lido-stvault/action/withdraw":{"post":{"operationId":"LidoStvaultController_withdraw_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LidoStvaultWithdrawActionDto"}}}},"responses":{"200":{"description":"Unsigned transaction that finalizes an exit request and releases its wstETH. Take `request_id` from the balance endpoint, where each outstanding request also reports whether it is claimable yet.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EthActionResponseDto"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}},"422":{"description":"Lido stVault is not deployed on the requested network","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Craft a withdraw transaction","tags":["Ethereum/Lido stVault Staking"]}},"/api/v1/ethereum/lido-stvault/action/withdraw-pool":{"post":{"operationId":"LidoStvaultController_withdrawFromPool_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LidoStvaultWithdrawFromPoolActionDto"}}}},"responses":{"200":{"description":"Unsigned transaction that exits the STV position itself through the pool's withdrawal queue, converting STV back into ETH. Amounts are in whole STV, a 27-decimal token. A position with minted (w)stETH must rebalance that liability in the same call via `steth_shares_to_rebalance`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EthActionResponseDto"}}}},"400":{"description":"stv_amount must be greater than 0","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}},"422":{"description":"Lido stVault is not deployed on the requested network","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Craft a pool withdrawal transaction","tags":["Ethereum/Lido stVault Staking"]}},"/api/v1/ethereum/lido-stvault/action/prepare":{"post":{"operationId":"LidoStvaultController_prepare_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EthPrepareActionDto"}}}},"responses":{"200":{"description":"Prepare a signed transaction by gathering r, s and v over the unsigned payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EthPrepareActionResponseDto"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}},"422":{"description":"Lido stVault is not deployed on the requested network","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Prepare a signed transaction","tags":["Ethereum/Lido stVault Staking"]}},"/api/v1/ethereum/lido-stvault/action/broadcast":{"post":{"operationId":"LidoStvaultController_broadcast_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EthBroadcastActionDto"}}}},"responses":{"200":{"description":"Broadcast a signed transaction","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EthBroadcastActionResponseDto"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}},"422":{"description":"Lido stVault is not deployed on the requested network","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Broadcast a signed transaction","tags":["Ethereum/Lido stVault Staking"]}},"/api/v1/ethereum/lido-stvault/balance/{address}":{"get":{"operationId":"LidoStvaultController_getBalance_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}},{"name":"address","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"Full stVault position: STV pool shares and their ETH value, Mellow vault shares split into active and claimable, the minted wstETH liability, any pending deposit request, and every outstanding exit request with the `request_id` the withdraw endpoint takes.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LidoStvaultBalanceResponseDto"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}},"422":{"description":"Lido stVault is not deployed on the requested network","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Get the stVault position for an address","tags":["Ethereum/Lido stVault Staking"]}},"/api/v1/ethereum/lido-stvault/staking-info":{"get":{"operationId":"LidoStvaultController_getStakingInfo_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Staking parameters for Lido stVault: activation, deactivation and withdrawal times in minutes, fees, limits, and the current APY. The APY is read from the Stakely staking-app feed using the Ethereum protocol slug `lido-v3`; fields not published or not verified for the vault remain `null` rather than inheriting Ethereum native-staking values.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StakingInfoResponseDto"},"example":{"stake_activation_max_time":0,"stake_deactivation_max_time":null,"withdrawal_max_time":0,"staking_reward_fee":3,"withdrawal_fee":null,"staking_apr":null,"staking_apy":1.51,"max_slashing_percentage":0,"min_stake_amount":"0","max_stake_amount":null,"users":null,"tvl_usd":null,"tvl_token":null}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}},"422":{"description":"Lido stVault is not deployed on the requested network","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Get staking information","tags":["Ethereum/Lido stVault Staking"]}},"/api/v1/ethereum/lido-stvault/networks":{"get":{"operationId":"LidoStvaultController_getNetworks_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Networks where Lido stVault is deployed and configured. A configured Ethereum network without stVault addresses is not listed.","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/StakewiseNetworkResponseDto"}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}},"422":{"description":"Lido stVault is not deployed on the requested network","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"List available networks","tags":["Ethereum/Lido stVault Staking"]}},"/api/v1/solana/native/action/create-nonce-account":{"post":{"operationId":"SolanaController_createNonceAccount_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateNonceAccountActionDto"}}}},"responses":{"200":{"description":"Craft a create nonce account transaction","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SolanaStakingActionResponseDto"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Craft a create nonce account transaction","tags":["Solana/Native Staking"]}},"/api/v1/solana/native/action/stake":{"post":{"operationId":"SolanaController_stake_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SolanaStakeActionDto"}}}},"responses":{"200":{"description":"Craft a stake transaction","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SolanaStakingActionResponseDto"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Craft a stake transaction","tags":["Solana/Native Staking"]}},"/api/v1/solana/native/action/unstake":{"post":{"operationId":"SolanaController_unstake_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SolanaUnstakeActionDto"}}}},"responses":{"200":{"description":"Craft an unstake transaction","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SolanaStakingActionResponseDto"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Craft an unstake transaction","tags":["Solana/Native Staking"]}},"/api/v1/solana/native/action/withdraw":{"post":{"operationId":"SolanaController_claimRewards_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SolanaWithdrawActionDto"}}}},"responses":{"200":{"description":"Craft a withdraw transaction","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SolanaStakingActionResponseDto"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Craft a withdraw transaction","tags":["Solana/Native Staking"]}},"/api/v1/solana/native/action/prepare":{"post":{"operationId":"SolanaController_prepare_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SolanaPrepareActionDto"}}}},"responses":{"200":{"description":"Prepare a signed transaction by gathering the provided signatures with the unsigned transaction hex string","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SolanaPrepareActionResponseDto"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Prepare a signed transaction","tags":["Solana/Native Staking"]}},"/api/v1/solana/native/action/broadcast":{"post":{"operationId":"SolanaController_broadcast_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SolanaBroadcastActionDto"}}}},"responses":{"200":{"description":"Broadcast signed transaction","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SolanaBroadcastActionResponseDto"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Broadcast a signed transaction","tags":["Solana/Native Staking"]}},"/api/v1/solana/native/staking-balance/{address}":{"get":{"operationId":"SolanaController_getStakingBalance_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"address","required":true,"in":"path","description":"Solana wallet address","schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Staking balance for an address in the unified cross-protocol shape, in SOL. Stake accounts are classified against the current epoch into activating, active, deactivating and withdrawable. Rewards are paid into the stake accounts every epoch, so they are already part of the staked amount. Every stake account is listed as a staking object, with its validator vote account and epochs; its id is the `stake_account_address` the unstake and withdraw endpoints take.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StakingBalanceResponseDto"},"example":{"staked_amount":0.010159294,"stake_activation_amount":0,"stake_deactivation_amount":0,"stake_withdrawing_amount":0.010019844,"stake_rewards_amount":null,"staking_objects":[{"id":"2tqRXB9fb6MvrRL433ji4XiF5fB1K3ivnbmMAhqCU23z","type":"delegation","status":"active","amount":0.010159294,"rewards_amount":null,"validator_address":"BmMVRAVef2qmJ1tJpG3JwRUtnfEiTbvDw9ZeFEi4wE7D","activation_epoch":942,"withdrawable_epoch":null,"withdrawable_at":null},{"id":"3xBwZmodz2wavfc592J2TuyUFZ2A8HFQdqVDWtJuzLHa","type":"delegation","status":"withdrawable","amount":0.010019844,"rewards_amount":null,"validator_address":"BmMVRAVef2qmJ1tJpG3JwRUtnfEiTbvDw9ZeFEi4wE7D","activation_epoch":941,"withdrawable_epoch":950,"withdrawable_at":null}]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Get the unified staking balance for an address","tags":["Solana/Native Staking"]}},"/api/v1/solana/native/staking-info":{"get":{"operationId":"SolanaController_getStakingInfo_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Staking parameters for Solana mainnet: activation, deactivation and withdrawal times in minutes, fees, current APR/APY, slashing risk and stake limits. Served from an in-memory snapshot refreshed hourly.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StakingInfoResponseDto"},"example":{"stake_activation_max_time":2880,"stake_deactivation_max_time":2880,"withdrawal_max_time":0,"staking_reward_fee":0,"withdrawal_fee":0,"staking_apr":null,"staking_apy":5.9,"max_slashing_percentage":0,"min_stake_amount":"1","max_stake_amount":null,"users":454,"tvl_usd":11027034.54,"tvl_token":148532.254}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Get staking information","tags":["Solana/Native Staking"]}},"/api/v1/solana/native/networks":{"get":{"operationId":"SolanaController_getNetworks_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Get available networks for Solana","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SolanaNetworkResponseDto"}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"List available networks","tags":["Solana/Native Staking"]}},"/api/v1/solana/jpool/action/stake":{"post":{"operationId":"SolanaJPoolController_stake_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JPoolStakeActionDto"}}}},"responses":{"200":{"description":"Craft a JPool stake (deposit SOL) transaction","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SolanaStakingActionResponseDto"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Craft a JPool stake transaction","tags":["Solana/JPool"]}},"/api/v1/solana/jpool/action/unstake":{"post":{"operationId":"SolanaJPoolController_unstake_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/JPoolUnstakeActionDto"}}}},"responses":{"200":{"description":"Craft a JPool unstake (withdraw SOL) transaction","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SolanaStakingActionResponseDto"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Craft a JPool unstake transaction","tags":["Solana/JPool"]}},"/api/v1/solana/jpool/action/prepare":{"post":{"operationId":"SolanaJPoolController_prepare_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SolanaPrepareActionDto"}}}},"responses":{"200":{"description":"Prepare a signed JPool transaction by gathering the provided signatures with the unsigned transaction hex string","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SolanaPrepareActionResponseDto"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Prepare a signed JPool transaction","tags":["Solana/JPool"]}},"/api/v1/solana/jpool/action/broadcast":{"post":{"operationId":"SolanaJPoolController_broadcast_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SolanaBroadcastActionDto"}}}},"responses":{"200":{"description":"Broadcast signed JPool transaction","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SolanaBroadcastActionResponseDto"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Broadcast a signed JPool transaction","tags":["Solana/JPool"]}},"/api/v1/solana/jpool/staking-balance/{address}":{"get":{"operationId":"SolanaJPoolController_getStakingBalance_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"address","required":true,"in":"path","description":"Solana wallet address","schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Staking balance for an address in the unified cross-protocol shape, in SOL. JPool is liquid staking: jSOL is minted and burned in the same transaction and rewards accrue through the pool-token rate, so only the staked amount applies. jSOL is a fungible balance and unstaking takes an amount, so there are no staking objects. A deferred unstake mints a native stake account, which the Solana native staking-balance endpoint reports.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StakingBalanceResponseDto"},"example":{"staked_amount":0.03594937210631604,"stake_activation_amount":null,"stake_deactivation_amount":null,"stake_withdrawing_amount":null,"stake_rewards_amount":null,"staking_objects":null}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Get the unified staking balance for an address","tags":["Solana/JPool"]}},"/api/v1/solana/jpool/staking-info":{"get":{"operationId":"SolanaJPoolController_getStakingInfo_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Staking parameters for JPool on Solana mainnet: activation, deactivation and withdrawal times in minutes, fees, current APR/APY, slashing risk and stake limits. Served from an in-memory snapshot refreshed hourly.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StakingInfoResponseDto"},"example":{"stake_activation_max_time":0,"stake_deactivation_max_time":2880,"withdrawal_max_time":0,"staking_reward_fee":7,"withdrawal_fee":0.50625,"staking_apr":null,"staking_apy":7.12,"max_slashing_percentage":0,"min_stake_amount":"0.003","max_stake_amount":null,"users":null,"tvl_usd":null,"tvl_token":null}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Get staking information","tags":["Solana/JPool"]}},"/api/v1/solana/jpool/networks":{"get":{"operationId":"SolanaJPoolController_getNetworks_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Get available networks for Solana JPool","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/JpoolNetworkResponseDto"}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"List available networks","tags":["Solana/JPool"]}},"/api/v1/sui/native/action/stake":{"post":{"operationId":"SuiController_stake_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuiStakeActionDto"}}}},"responses":{"200":{"description":"Craft an unsigned stake transaction","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuiStakeActionResponseDto"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Craft an unsigned stake transaction","tags":["Sui/Native Staking"]}},"/api/v1/sui/native/action/unstake":{"post":{"operationId":"SuiController_unstake_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuiUnstakeActionDto"}}}},"responses":{"200":{"description":"Craft an unsigned unstake transaction","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuiStakeActionResponseDto"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Craft an unsigned unstake transaction","tags":["Sui/Native Staking"]}},"/api/v1/sui/native/action/prepare":{"post":{"operationId":"SuiController_prepare_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuiPrepareActionDto"}}}},"responses":{"200":{"description":"Prepare a signed transaction by combining the unsigned transaction bytes and signatures into a single payload","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuiPrepareActionResponseDto"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Prepare a signed transaction","tags":["Sui/Native Staking"]}},"/api/v1/sui/native/action/broadcast":{"post":{"operationId":"SuiController_broadcast_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuiBroadcastActionDto"}}}},"responses":{"200":{"description":"Broadcast a signed transaction","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SuiBroadcastActionResponseDto"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Broadcast a signed transaction","tags":["Sui/Native Staking"]}},"/api/v1/sui/native/staking-balance/{address}":{"get":{"operationId":"SuiController_getStakingBalance_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}},{"name":"address","required":true,"in":"path","description":"Sui wallet address","schema":{"type":"string"}},{"name":"X-NETWORK","in":"header","description":"Blockchain network or chain identifier (e.g., cosmoshub-4, 560048, mainnet-beta)","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Staking balance for an address in the unified cross-protocol shape, in SUI. Stakes are split into active and activating against the current epoch, and rewards are derived from the validator pool exchange rates (null if they cannot be derived for every position). Unstaking returns the funds in the same transaction, so there is no deactivation or withdrawing bucket. Every StakedSui and FungibleStakedSui object is listed as a staking object, with its validator and per-object rewards; its id is the `staked_sui_object_id` the unstake endpoint takes.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StakingBalanceResponseDto"},"example":{"staked_amount":1,"stake_activation_amount":0,"stake_deactivation_amount":null,"stake_withdrawing_amount":null,"stake_rewards_amount":0.000200681,"staking_objects":[{"id":"0x41e25e4c6dffffa51011f9239cae44b90eec3c427a03c20f26e8d454f151ef68","type":"delegation","status":"active","amount":1,"rewards_amount":0.000200681,"validator_address":"0x07fffa5cb91c8522b6a5d57b8fda97deb803238b23dc3b0a3b3b723546483098","activation_epoch":1100,"withdrawable_epoch":null,"withdrawable_at":null}]}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Get the unified staking balance for an address","tags":["Sui/Native Staking"]}},"/api/v1/sui/native/staking-info":{"get":{"operationId":"SuiController_getStakingInfo_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Staking parameters for Sui mainnet: activation, deactivation and withdrawal times in minutes, fees, current APR/APY, slashing risk and stake limits. Served from an in-memory snapshot refreshed hourly.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StakingInfoResponseDto"},"example":{"stake_activation_max_time":1440,"stake_deactivation_max_time":0,"withdrawal_max_time":0,"staking_reward_fee":7,"withdrawal_fee":0,"staking_apr":null,"staking_apy":1.44,"max_slashing_percentage":0,"min_stake_amount":"1","max_stake_amount":null,"users":948,"tvl_usd":21793372.33,"tvl_token":31534325.46}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"Get staking information","tags":["Sui/Native Staking"]}},"/api/v1/sui/native/networks":{"get":{"operationId":"SuiController_getNetworks_v1","parameters":[{"name":"X-IDENTITY","in":"header","description":"Optional caller-defined identity (e.g. the end user or account acting through your integration). Stored with the request in the audit log so activity can be traced back to it.","required":false,"schema":{"type":"string"}}],"responses":{"200":{"description":"Get available networks for Sui","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SuiNetworkResponseDto"}}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HttpExceptionResponse"}}}}},"security":[{"X-API-KEY":[]}],"summary":"List available networks","tags":["Sui/Native Staking"]}}},"info":{"title":"API","description":"API docs","version":"1.0","contact":{}},"tags":[],"servers":[{"url":"https://staking-api.stakely.io/","description":"Production server"},{"url":"https://dev-staking-api.stakely.io/","description":"Development server"}],"components":{"securitySchemes":{"X-API-KEY":{"type":"apiKey","in":"header","name":"X-API-KEY"},"bearer":{"scheme":"bearer","bearerFormat":"JWT","type":"http"},"cookie":{"type":"apiKey","in":"cookie","name":"token","description":"Authentication cookie with JWT token"}},"schemas":{"HttpExceptionResponse":{"type":"object","properties":{"statusCode":{"type":"number","example":400,"description":"The HTTP status code"},"message":{"type":"string","nullable":true,"example":"Bad Request","description":"The HTTP status message"},"error":{"type":"string","nullable":true,"example":"Bad request error message","description":"Error description"}},"required":["statusCode","error"]},"CreateApikeyDto":{"type":"object","properties":{"name":{"type":"string","example":"Apikey Name"},"description":{"type":"string","example":"Apikey description"},"expirationDate":{"type":"string","format":"date-time","nullable":true,"example":null}}},"CreateApikeyResponseDto":{"type":"object","properties":{"ulid":{"type":"string","example":"01HRSNSDR9Z5AMGKWRRY2CDSD8","description":"Apikey ULID unique id"},"name":{"type":"string","example":"Apikey Name","description":"Apikey Name"},"description":{"type":"string","example":"This is a prod apikey","description":"Apikey description"},"ending4Chars":{"type":"string","example":"YHyg","description":"Apikey ending 4 chars, helps to identify apikey"},"active":{"type":"boolean","example":true,"description":"Apikey status, true if active, false if inactive"},"expirationDate":{"type":"string","format":"date-time","nullable":true,"example":null,"description":"Apikey expiration date, null if never expires"},"createdAt":{"type":"string","format":"date-time","example":"2024-12-12 14:46:39.411553","description":"Apikey creation date"},"updatedAt":{"type":"string","format":"date-time","example":"2024-03-12 14:46:39.411553","description":"Apikey last update modification date"},"key":{"type":"string","example":"XXXXXXXXXXXXXXXXXXXXXXX","description":"Apikey value to use in header auth"}},"required":["ulid","name","description","ending4Chars","active","expirationDate","createdAt","updatedAt","key"]},"GetApikeyResponseDto":{"type":"object","properties":{"ulid":{"type":"string","example":"01HRSNSDR9Z5AMGKWRRY2CDSD8","description":"Apikey ULID unique id"},"name":{"type":"string","example":"Apikey Name","description":"Apikey Name"},"description":{"type":"string","example":"This is a prod apikey","description":"Apikey description"},"ending4Chars":{"type":"string","example":"YHyg","description":"Apikey ending 4 chars, helps to identify apikey"},"active":{"type":"boolean","example":true,"description":"Apikey status, true if active, false if inactive"},"expirationDate":{"type":"string","format":"date-time","nullable":true,"example":null,"description":"Apikey expiration date, null if never expires"},"createdAt":{"type":"string","format":"date-time","example":"2024-12-12 14:46:39.411553","description":"Apikey creation date"},"updatedAt":{"type":"string","format":"date-time","example":"2024-03-12 14:46:39.411553","description":"Apikey last update modification date"}},"required":["ulid","name","description","ending4Chars","active","expirationDate","createdAt","updatedAt"]},"UpdateApikeyDto":{"type":"object","properties":{"name":{"type":"string","example":"Apikey Name"},"description":{"type":"string","example":"Apikey description"},"expirationDate":{"type":"string","format":"date-time","nullable":true,"example":"2024-09-01T00:00:00.000Z"},"active":{"type":"boolean","nullable":false,"default":true,"example":false}},"required":["active"]},"StakeActionDto":{"type":"object","properties":{"pubkey":{"type":"string","example":"025a2146590b80d1f0d97cc7104e702011afff21bfaf817f5c7002446369ba9ddc","description":"pubkey string compressed or uncompressed of the address that will perform the staking action"},"amount":{"type":"number","example":0.1,"description":"Amount of stake to perform in atom"}},"required":["pubkey","amount"]},"StakingActionResponseDto":{"type":"object","properties":{"unsigned_tx_hex":{"type":"string","example":"03b8ef9558b9a2d9f2d4c1f4f8bafce1a6df628d6c521474d6823b6e3223d9e8af","description":"Unsigned craft transaction hex string"},"tx_auth_info_hex":{"type":"string","example":"0a4c0a440a1f2f636f736d6f732e63727970746f2e736563703235366b312e5075624b6579122103ed029c3924242f564310b4972ea824cc6d8ae8d27b856ca1da5df7973ba8387912040a02080112130a0d0a057561746f6d12043530303010c0cf24","description":"Transaction auth info hex string"},"unsigned_tx_hash_hex":{"type":"string","example":"1a6edb7358323bafca52b1755f3ad985754dc23887110b65429373ed83321500","description":"Unasigned tx hash hex string, ready to be signed by external integrations"}},"required":["unsigned_tx_hex","tx_auth_info_hex","unsigned_tx_hash_hex"]},"UnstakeActionDto":{"type":"object","properties":{"pubkey":{"type":"string","example":"025a2146590b80d1f0d97cc7104e702011afff21bfaf817f5c7002446369ba9ddc","description":"pubkey string compressed or uncompressed of the address that will perform the staking action"},"amount":{"type":"number","example":0.1,"description":"Amount of unstake to perform in atom"}},"required":["pubkey","amount"]},"ClaimRewardsActionDto":{"type":"object","properties":{"pubkey":{"type":"string","example":"025a2146590b80d1f0d97cc7104e702011afff21bfaf817f5c7002446369ba9ddc","description":"pubkey string compressed or uncompressed of the address that will perform the staking action"}},"required":["pubkey"]},"PrepareActionDto":{"type":"object","properties":{"tx_body_hex":{"type":"string","example":"0a8e010a8b010a1c2f636f736d6f732e62616e6b2e763162657461312e4d736753656e6412730a2b636f736d6f73316d7634746c686b6e7379356b336d746b7874747872717371726c6567726e787371366d7171122b636f736d6f733172726d6e6c687a6e698a3578746d6c6b776d736874776d366e6c776c726b677770736d1a0b0a05756f736d6f731200a232f636f736d6f732e7374616b696e672e763162657461312e4d7436744654c656761746512730a2d636f736d6f73317930726e7574797433616c7437306d6a7261653875616d6b78346c6a346d6a7a6634706472301234636f736d6f7376616c6f7065723136797570657061677977766c6b377568706663687477613073747535663863796868353466321a0c0a057561746f6d1203323530","description":"Unsigned transaction body hex string"},"tx_auth_info_hex":{"type":"string","example":"0a4c0a440a1f2f636f736d6f732e63727970746f2e736563703235366b312e5075624b6579122103ed029c3924242f564310b4972ea824cc6d8ae8d27b856ca1da5df7973ba8387912040a02080112130a0d0a057561746f6d12043530303010c0cf24","description":"Transaction auth info hex string"},"signature_hex":{"type":"string","example":"signatureHex example","description":"Transaction signatures hex string"}},"required":["tx_body_hex","tx_auth_info_hex","signature_hex"]},"PrepareActionResponseDto":{"type":"object","properties":{"signed_tx_hex":{"type":"string","example":"03b8ef9558b9a2d9f2d4c1f4f8bafce1a6df628d6c521474d6823b6e3223d9e8af","description":"Signed transaction string (hex encoded) ready to be broadcasted"}},"required":["signed_tx_hex"]},"BroadcastActionDto":{"type":"object","properties":{"signed_tx_hex":{"type":"string","example":"0a8e010a8b010a1c2f636f736d6f732e62616e6b2e763162657461312e4d736753656e6412730a2b636f736d6f73316d7634746c686b6e7379356b336d746b7874747872717371726c6567726e787371366d7171122b636f736d6f733172726d6e6c687a6e657a3578746d6c6b776d736874776d366e6c776c726b677770736d1a0b0a05756f736d6f73120","description":"Signed transaction string (hex encoded) to be broadcasted"}},"required":["signed_tx_hex"]},"BroadcastActionResponseDto":{"type":"object","properties":{"tx_hash":{"type":"string","example":"03b8ef9558b9a2d9f2d4c1f4f8bafce1a6df628d6c521474d6823b6e3223d9e8af","description":"Transaction hash of the broadcasted transaction"}},"required":["tx_hash"]},"StakingObjectType":{"type":"string","enum":["delegation","withdrawal_request"],"description":"Whether the object holds stake (`delegation`) or represents an exit already requested (`withdrawal_request`)."},"StakingObjectStatus":{"type":"string","enum":["activating","active","deactivating","withdrawable","unknown"],"description":"Lifecycle phase of the object. Objects sharing a status add up to the matching amount bucket of the response."},"StakingObjectDto":{"type":"object","properties":{"id":{"type":"string","example":"3ztZzUBzfeJ17VoZyNngBW9Uezs9pDkPyJPcBYQMZDWu","description":"Identifier of this object on its protocol, to be passed back to the action endpoints of that protocol:\n\n| Protocol | `id` is | Used as |\n| --- | --- | --- |\n| Solana native | stake account address | `stake_account_address` (unstake, withdraw) |\n| Sui native | StakedSui object id | `staked_sui_object_id` (unstake) |\n| Monad native | withdrawal slot id (0-255) | `withdrawId` (withdraw) |\n| Monad Magma | owner request id | `request_id` (withdraw) |\n| CosmosHub / Celestia | unbonding entry id | informational — unstaking is amount-based |\n| Ethereum Stakewise | exit queue position ticket | informational — withdraw claims every ticket |"},"type":{"example":"delegation","description":"Whether the object holds stake (`delegation`) or represents an exit already requested (`withdrawal_request`).","allOf":[{"$ref":"#/components/schemas/StakingObjectType"}]},"status":{"example":"active","description":"Lifecycle phase of the object. Objects sharing a status add up to the matching amount bucket of the response.","allOf":[{"$ref":"#/components/schemas/StakingObjectStatus"}]},"amount":{"type":"number","nullable":true,"example":1.5,"description":"Principal held by this object, in native token units. `null` when it could not be read."},"rewards_amount":{"type":"number","nullable":true,"example":0.000200681,"description":"Rewards accrued by this object on top of its principal, in native token units. `null` when the protocol reports rewards only at address level, compounds them into the principal, or when they could not be derived."},"validator_address":{"type":"string","nullable":true,"example":"Vote111111111111111111111111111111111111111","description":"Validator this object is delegated to, in the protocol native format (a vote account on Solana, a validator address on Sui). `null` when the protocol does not attribute the object to a single validator."},"activation_epoch":{"type":"number","nullable":true,"example":440,"description":"Epoch at which this object starts earning rewards. `null` on protocols that do not track activation per object."},"withdrawable_epoch":{"type":"number","nullable":true,"example":451,"description":"Epoch from which this object can be withdrawn. `null` on protocols whose withdrawal is time-based or that release funds automatically."},"withdrawable_at":{"type":"string","nullable":true,"example":"2026-08-12T09:14:18.000Z","description":"ISO-8601 instant from which this object can be withdrawn. `null` on protocols whose withdrawal is epoch-based or that release funds automatically."}},"required":["id","type","status","amount","rewards_amount","validator_address","activation_epoch","withdrawable_epoch","withdrawable_at"]},"StakingBalanceResponseDto":{"type":"object","properties":{"staked_amount":{"type":"number","nullable":true,"example":5.2,"description":"Stake that is currently active and earning rewards, in native token units."},"stake_activation_amount":{"type":"number","nullable":true,"example":0.5,"description":"Stake that has been delegated but is still warming up, in native token units. `null` when the protocol activates stake immediately."},"stake_deactivation_amount":{"type":"number","nullable":true,"example":2.1,"description":"Stake that is unbonding and has not completed its deactivation period yet, in native token units. `null` when the protocol has no unbonding period."},"stake_withdrawing_amount":{"type":"number","nullable":true,"example":1,"description":"Stake that finished deactivating and is waiting for a withdrawal transaction, in native token units. `null` when the protocol releases the funds automatically."},"stake_rewards_amount":{"type":"number","nullable":true,"example":0.35,"description":"Rewards this address has earned on its stake, in native token units. **Read this field together with the protocol**, because how it relates to `staked_amount` depends on how the protocol pays rewards.\n\nWhere rewards accrue outside the stake (CosmosHub, Celestia, Monad, Pharos, Sui) this is a balance held apart from `staked_amount`: the two are disjoint and add up to the position, and on the chains that expose a claim endpoint it is what that call pays out.\n\nWhere the protocol compounds rewards into the position instead (Ethereum StakeWise) there is nothing separate to claim, so this reports the unrealized gain: what the position is worth today over what it cost. Being part of what the position is worth, it is **already inside `staked_amount`** and must not be added to it. It can be negative, when the position is worth less than it cost.\n\n`null` when the rewards cannot be established for that address, which is not a claim that it earned nothing."},"staking_objects":{"nullable":true,"description":"Individually addressable units that make up the position, normalised across protocols. The amounts above are the aggregate; these are the handles needed to act on the position, because protocols such as Solana and Sui require an object id to craft an unstake or withdraw transaction.\n\n`null` means the protocol exposes no addressable objects at all and every action is amount-based; an empty array means it does expose them and the address currently holds none. An object is only listed when the protocol publishes a real identifier for it, so the listed objects do not necessarily add up to the totals above.","type":"array","items":{"$ref":"#/components/schemas/StakingObjectDto"}}},"required":["staked_amount","stake_activation_amount","stake_deactivation_amount","stake_withdrawing_amount","stake_rewards_amount","staking_objects"]},"StakingInfoResponseDto":{"type":"object","properties":{"stake_activation_max_time":{"type":"number","nullable":true,"example":2880,"description":"Maximum time, in minutes, for a new stake to become active and start accruing rewards. `0` means it is effective immediately."},"stake_deactivation_max_time":{"type":"number","nullable":true,"example":2880,"description":"Maximum time, in minutes, for an unstake request to complete the unbonding/exit period. `0` means the stake is released immediately."},"withdrawal_max_time":{"type":"number","nullable":true,"example":0,"description":"Maximum time, in minutes, between a completed deactivation and the funds being spendable again. `0` means the funds are available as soon as the deactivation completes."},"staking_reward_fee":{"type":"number","nullable":true,"example":5,"description":"Aggregate fee charged on staking rewards, as a percentage of the rewards generated (validator commission plus any protocol fee)."},"withdrawal_fee":{"type":"number","nullable":true,"example":0,"description":"Fee charged when withdrawing the stake, as a percentage of the withdrawn amount. Network transaction (gas) costs are not included."},"staking_apr":{"type":"number","nullable":true,"example":14.31,"description":"Current annual percentage rate (rewards without compounding), as a percentage."},"staking_apy":{"type":"number","nullable":true,"example":15.38,"description":"Current annual percentage yield (rewards with compounding), as a percentage."},"max_slashing_percentage":{"type":"number","nullable":true,"example":5,"description":"Maximum percentage of the staked amount that the protocol can slash. `0` means the protocol implements no slashing."},"min_stake_amount":{"type":"string","nullable":true,"example":"0.000001","description":"Minimum amount that can be staked, as a decimal string in the native token of the chain."},"max_stake_amount":{"type":"string","nullable":true,"example":null,"description":"Maximum amount that can be staked, as a decimal string in the native token of the chain. `null` means the protocol enforces no upper limit."},"users":{"type":"number","nullable":true,"example":6003,"description":"Number of addresses currently staking with Stakely on this chain. Live figure, refreshed hourly. `null` on protocol-scoped endpoints (liquid staking, vaults), because the feed only publishes this per chain and the chain-wide figure is not that protocol's."},"tvl_usd":{"type":"number","nullable":true,"example":1290323.61,"description":"Total value staked with Stakely on this chain, in USD. Live figure, refreshed hourly. `null` on protocol-scoped endpoints, for the same reason as `users`."},"tvl_token":{"type":"number","nullable":true,"example":1001026.852,"description":"Total value staked with Stakely on this chain, in the native token of the chain. Live figure, refreshed hourly. `null` on protocol-scoped endpoints, for the same reason as `users`."}},"required":["stake_activation_max_time","stake_deactivation_max_time","withdrawal_max_time","staking_reward_fee","withdrawal_fee","staking_apr","staking_apy","max_slashing_percentage","min_stake_amount","max_stake_amount","users","tvl_usd","tvl_token"]},"NetworkResponseDto":{"type":"object","properties":{"name":{"type":"string","example":"cosmos","description":"Blockchain name"},"type":{"type":"string","example":"COSMOS","description":"Blockchain type"},"chain_id":{"type":"string","example":"cosmoshub-4","description":"Chain identifier"},"is_default":{"type":"boolean","example":true,"description":"Whether this is the default network for this controller"}},"required":["name","type","chain_id","is_default"]},"CelestiaStakeActionDto":{"type":"object","properties":{"pubkey":{"type":"string","example":"025a2146590b80d1f0d97cc7104e702011afff21bfaf817f5c7002446369ba9ddc","description":"pubkey string compressed or uncompressed of the address that will perform the staking action"},"amount":{"type":"number","example":0.1,"description":"Amount of stake to perform in TIA"}},"required":["pubkey","amount"]},"CelestiaUnstakeActionDto":{"type":"object","properties":{"pubkey":{"type":"string","example":"025a2146590b80d1f0d97cc7104e702011afff21bfaf817f5c7002446369ba9ddc","description":"pubkey string compressed or uncompressed of the address that will perform the staking action"},"amount":{"type":"number","example":0.1,"description":"Amount of unstake to perform in TIA"}},"required":["pubkey","amount"]},"CelestiaNetworkResponseDto":{"type":"object","properties":{"name":{"type":"string","example":"celestia","description":"Blockchain name"},"type":{"type":"string","example":"COSMOS","description":"Blockchain type"},"chain_id":{"type":"string","example":"celestia","description":"Chain identifier"},"is_default":{"type":"boolean","example":true,"description":"Whether this is the default network for this controller"}},"required":["name","type","chain_id","is_default"]},"StakewiseStakeActionDto":{"type":"object","properties":{"address":{"type":"string","example":"0x0e79065B5F11b5BD1e62B935A600976ffF3754B9","description":"Eth address that will perform the staking action"},"amount":{"type":"number","example":0.1,"description":"Amount of stake to perform in eth units"}},"required":["address","amount"]},"EthActionResponseDto":{"type":"object","properties":{"serialized_tx_hex":{"type":"string","example":"03b8ef9558b9a2d9f2d4c1f4f8bafce1a6df628d6c521474d6823b6e3223d9e8af","description":"Serialized transaction hex string ready to be signed"},"unsigned_tx_hash_hex":{"type":"string","example":"1a6edb7358323bafca52b1755f3ad985754dc23887110b65429373ed83321500","description":"Unsigned tx hash hex string used for offline signing integrations"},"payload":{"type":"object","description":"Transaction payload object","example":{"type":"0x0","nonce":"0x5fe08","gasLimit":"0x30d40","to":"0x169856275ddca01b2fcdc63c4f1b0adf72a4cf10","value":"0x16345785d8a0000","data":"0x18f72950...","gasPrice":"0x2887734d"}}},"required":["serialized_tx_hex","unsigned_tx_hash_hex","payload"]},"StakewiseWithdrawActionDto":{"type":"object","properties":{"address":{"type":"string","example":"0x0e79065B5F11b5BD1e62B935A600976ffF3754B9","description":"Eth address that will perform the staking action"}},"required":["address"]},"EthPrepareActionDto":{"type":"object","properties":{"serialized_tx_hex":{"type":"string","example":"03b8ef9558b9a2d9f2d4c1f4f8bafce1a6df628d6c521474d6823b6e3223d9e8af","description":"Unsigned serialized transaction hex string ready to be signed"},"r":{"type":"string","example":"6da2b6fe309b629720bc3d1d3a8befb3f461e3b53ccee85c55d10b11d3a3d263","description":"r part of the ECDSA signature in hex"},"s":{"type":"string","example":"085fe4bb8ff0c04e4e41a2ba44609f894b9a70f4330de726d1403ee21b65e685","description":"s part of the ECDSA signature in hex"},"v":{"type":"number","example":34035,"description":"v part of the ECDSA signature "}},"required":["serialized_tx_hex","r","s","v"]},"EthPrepareActionResponseDto":{"type":"object","properties":{"signed_tx_hex":{"type":"string","example":"0xf9014b1f8455bd900c83030d4094169856275ddca01b2fcdc63c4f1b0adf72a4cf1080b8e4ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000448ceab9aa000000000000000000000000000000000000000000000000003dfad6621f4dee0000000000000000000000005852edaf1e02fd79c1609bd2908df8417fe6d7c6000000000000000000000000000000000000000000000000000000008284f4a0c1cd82bbf37ff8b2578bc291e42bf5426818f897dc697c6c2cd52df32659e73ba04257470d77c0ea197b5dc3be98c1593c5360a89f4922e272d470ad908c2b5b15","description":"Signed transaction hex string ready to be broadcasted"}},"required":["signed_tx_hex"]},"EthBroadcastActionDto":{"type":"object","properties":{"signed_tx_hex":{"type":"string","example":"0xf9014b1f8455bd900c83030d4094169856275ddca01b2fcdc63c4f1b0adf72a4cf1080b8e4ac9650d800000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000448ceab9aa000000000000000000000000000000000000000000000000003dfad6621f4dee0000000000000000000000005852edaf1e02fd79c1609bd2908df8417fe6d7c6000000000000000000000000000000000000000000000000000000008284f4a0c1cd82bbf37ff8b2578bc291e42bf5426818f897dc697c6c2cd52df32659e73ba04257470d77c0ea197b5dc3be98c1593c5360a89f4922e272d470ad908c2b5b15","description":"Signed transaction hex string ready to be broadcasted"}},"required":["signed_tx_hex"]},"EthBroadcastActionResponseDto":{"type":"object","properties":{"tx_hash":{"type":"string","example":"0x23273dacef9d64fdb2c790e9f9f4c13574125078a272059dac2473bc8bfba163","description":"Transaction hash of the broadcasted transaction"}},"required":["tx_hash"]},"StakewiseGetActionResponseDto":{"type":"object","properties":{"id":{"type":"string","example":"0xe08ff6b0c57162c32feebde105af11c7ad14f8aa068140271d393128eee5076e-53","description":"Event identifier"},"assets":{"type":"string","example":"0.01","description":"Transaction amount assets in eth units"},"shares":{"type":"string","example":"0.009990742171519222","description":"Transaction amount shares in eth units"},"actionType":{"type":"string","example":"03b8ef9558b9a2d9f2d4c1f4f8bafce1a6df628d6c521474d6823b6e3223d9e8af","description":"Stakewise vault action type"},"link":{"type":"string","example":"https://hoodi.etherscan.io/tx/0xe08ff6b0c57162c32feebde105af11c7ad14f8aa068140271d393128eee5076e","description":"Transaction explorer link"},"createdAt":{"type":"number","example":1713279456000,"description":"Transaction date in unix timestamp format (ms)"}},"required":["id","assets","shares","actionType","link","createdAt"]},"StakewiseGetVaultResponseDto":{"type":"object","properties":{"vaultAddress":{"type":"string","example":"0x1234567890123456789012345678901234567890","description":"Vault address"},"apy":{"type":"number","example":5.6,"description":"Current APY of the vault"}},"required":["vaultAddress","apy"]},"StakewiseGetUserStatsResponseDto":{"type":"object","properties":{"time":{"type":"number","example":1713279456000,"description":"Date and time for each data point"},"balance":{"type":"number","example":10.5,"description":"Total assets by the user in current vault at the moment of time"},"apy":{"type":"number","example":5.6,"description":"Current APY based on time, rewards and balance"},"rewards":{"type":"number","example":0.01,"description":"Number of assets earned by the user in current vault during the interval"}},"required":["time","balance","apy","rewards"]},"StakewiseNetworkResponseDto":{"type":"object","properties":{"name":{"type":"string","example":"ethereum-mainnet","description":"Blockchain name"},"type":{"type":"string","example":"EVM","description":"Blockchain type"},"chain_id":{"type":"string","example":"1","description":"Chain identifier"},"is_default":{"type":"boolean","example":true,"description":"Whether this is the default network for this controller"}},"required":["name","type","chain_id","is_default"]},"MonadWithdrawalParamsDto":{"type":"object","properties":{"address":{"type":"string","description":"Delegator address","example":"0xb794f5ea0ba39494ce839613fffba74279579268"},"withdrawId":{"type":"number","description":"Withdrawal slot identifier (0-255)","example":0,"minimum":0,"maximum":255}},"required":["address","withdrawId"]},"MonadWithdrawalQueryDto":{"type":"object","properties":{"startWithdrawId":{"type":"number","description":"Start withdrawal id (defaults to 0)","example":0,"minimum":0,"maximum":255},"endWithdrawId":{"type":"number","description":"End withdrawal id (defaults to 255)","example":255,"minimum":0,"maximum":255}}},"MonadStakeActionDto":{"type":"object","properties":{"address":{"type":"string","description":"Address that will perform the staking action","example":"0xb794f5ea0ba39494ce839613fffba74279579268"},"amount":{"type":"number","description":"Amount to delegate in ether units","example":0.5}},"required":["address","amount"]},"MonadUndelegateActionDto":{"type":"object","properties":{"address":{"type":"string","description":"Address that will perform the undelegation","example":"0xb794f5ea0ba39494ce839613fffba74279579268"},"amount":{"type":"number","description":"Amount to undelegate in ether units","example":0.5},"withdrawId":{"type":"number","description":"Withdrawal slot identifier (0-255)","example":0}},"required":["address","amount","withdrawId"]},"MonadWithdrawActionDto":{"type":"object","properties":{"address":{"type":"string","description":"Address requesting the withdrawal","example":"0xb794f5ea0ba39494ce839613fffba74279579268"},"withdrawId":{"type":"number","description":"Withdrawal slot identifier to claim from (0-255)","example":0}},"required":["address","withdrawId"]},"MonadClaimRewardsActionDto":{"type":"object","properties":{"address":{"type":"string","description":"Address that will claim rewards","example":"0xb794f5ea0ba39494ce839613fffba74279579268"}},"required":["address"]},"MonadCompoundActionDto":{"type":"object","properties":{"address":{"type":"string","description":"Address that will compound rewards","example":"0xb794f5ea0ba39494ce839613fffba74279579268"}},"required":["address"]},"GetWithdrawalRequestResponseDto":{"type":"object","properties":{"withdrawId":{"type":"number","description":"Withdrawal slot identifier","example":0},"withdrawalAmount":{"type":"number","description":"Withdrawal amount in ether units (converted from wei)","example":10.5},"accRewardPerToken":{"type":"number","description":"Accumulated reward per token in ether units (converted from wei)","example":0.000123456},"withdrawEpoch":{"type":"number","description":"Epoch number when withdrawal becomes available","example":123}},"required":["withdrawId","withdrawalAmount","accRewardPerToken","withdrawEpoch"]},"MonadWithdrawalRequestErrorDto":{"type":"object","properties":{"withdrawId":{"type":"number"},"message":{"type":"string"}},"required":["withdrawId","message"]},"GetWithdrawalRequestsResponseDto":{"type":"object","properties":{"validatorId":{"type":"number","description":"Validator ID","example":66},"delegator":{"type":"string","description":"Delegator address","example":"0xb794f5ea0ba39494ce839613fffba74279579268"},"startWithdrawId":{"type":"number","description":"Start withdrawal ID in the range","example":0},"endWithdrawId":{"type":"number","description":"End withdrawal ID in the range","example":255},"validRequests":{"description":"List of valid withdrawal requests with converted values","type":"array","items":{"$ref":"#/components/schemas/GetWithdrawalRequestResponseDto"}},"errors":{"description":"List of errors encountered during withdrawal request retrieval","type":"array","items":{"$ref":"#/components/schemas/MonadWithdrawalRequestErrorDto"}}},"required":["validatorId","delegator","startWithdrawId","endWithdrawId","validRequests","errors"]},"MonadNetworkResponseDto":{"type":"object","properties":{"name":{"type":"string","example":"monad-mainnet","description":"Blockchain name"},"type":{"type":"string","example":"EVM","description":"Blockchain type"},"chain_id":{"type":"string","example":"143","description":"Chain identifier"},"is_default":{"type":"boolean","example":true,"description":"Whether this is the default network for this controller"}},"required":["name","type","chain_id","is_default"]},"MagmaNetworkResponseDto":{"type":"object","properties":{"name":{"type":"string","example":"monad-magma","description":"Blockchain name"},"type":{"type":"string","example":"EVM","description":"Blockchain type"},"chain_id":{"type":"string","example":"143","description":"Chain identifier"},"is_default":{"type":"boolean","example":true,"description":"Whether this is the default network for this controller"}},"required":["name","type","chain_id","is_default"]},"MagmaStakeActionDto":{"type":"object","properties":{"address":{"type":"string","description":"Address that will perform the stake action","example":"0xb794f5ea0ba39494ce839613fffba74279579268"},"amount":{"type":"number","description":"Amount to delegate in MON (ether units)","example":100}},"required":["address","amount"]},"MagmaUndelegateActionDto":{"type":"object","properties":{"address":{"type":"string","description":"Address that will perform the undelegation request","example":"0xb794f5ea0ba39494ce839613fffba74279579268"},"amount":{"type":"number","description":"Amount to undelegate in MON (ether units)","example":1.5}},"required":["address","amount"]},"MagmaWithdrawActionDto":{"type":"object","properties":{"address":{"type":"string","description":"Address that will perform the withdrawal","example":"0xb794f5ea0ba39494ce839613fffba74279579268"},"request_id":{"type":"number","description":"Owner request id that should be withdrawn","example":1}},"required":["address","request_id"]},"MagmaWithdrawalResponseDto":{"type":"object","properties":{"request_id":{"type":"number","description":"Current owner request id","example":1},"assets":{"type":"number","description":"Requested assets in MON (converted from wei to MON)","example":10.25},"withdrawable_time":{"type":"number","description":"Claimable timestamp plus 6 hours (unix seconds)","example":1720000000}},"required":["request_id","assets","withdrawable_time"]},"PharosDelegateActionDto":{"type":"object","properties":{"address":{"type":"string","description":"Address that will perform the delegation","example":"0xb794f5ea0ba39494ce839613fffba74279579268"},"amount":{"type":"number","description":"Amount to delegate in native token (18 decimals)","example":0.1}},"required":["address","amount"]},"PharosUndelegateActionDto":{"type":"object","properties":{"address":{"type":"string","description":"Address that will perform the undelegation","example":"0xb794f5ea0ba39494ce839613fffba74279579268"}},"required":["address"]},"PharosClaimRewardsActionDto":{"type":"object","properties":{"address":{"type":"string","description":"Address that will claim rewards","example":"0xb794f5ea0ba39494ce839613fffba74279579268"}},"required":["address"]},"PharosCompoundRewardsActionDto":{"type":"object","properties":{"address":{"type":"string","description":"Address that will compound rewards","example":"0xb794f5ea0ba39494ce839613fffba74279579268"}},"required":["address"]},"PharosWithdrawActionDto":{"type":"object","properties":{"address":{"type":"string","description":"Address that will withdraw completed unstake","example":"0xb794f5ea0ba39494ce839613fffba74279579268"}},"required":["address"]},"PharosNetworkResponseDto":{"type":"object","properties":{"name":{"type":"string","example":"pharos-mainnet","description":"Blockchain name"},"type":{"type":"string","example":"EVM","description":"Blockchain type"},"chain_id":{"type":"string","example":"1672","description":"Chain identifier"},"is_default":{"type":"boolean","example":true,"description":"Whether this is the default network for this controller"}},"required":["name","type","chain_id","is_default"]},"LidoStvaultStakeActionDto":{"type":"object","properties":{"address":{"type":"string","description":"Address that will perform the stake and own the position","example":"0x0e79065B5F11b5BD1e62B935A600976ffF3754B9"},"amount":{"type":"number","description":"Amount of ETH to stake, in ether units. It is sent as the transaction value and minted into STV pool shares.","example":0.1},"mint_wsteth_amount":{"type":"number","description":"Optional amount of wstETH to mint against the STV position and deposit into the Mellow vault, in ether units. **This is leverage, not a plain deposit**: it borrows against the stake, is capped by the pool reserve ratio, and makes the position liable to forced rebalancing. Defaults to 0, which stakes ETH only.","example":0,"default":0},"referral":{"type":"string","description":"Optional referral address recorded by the pool and the deposit queue. Defaults to the zero address.","example":"0x0000000000000000000000000000000000000000"}},"required":["address","amount"]},"LidoStvaultClaimActionDto":{"type":"object","properties":{"address":{"type":"string","description":"Address whose pending deposit request will be claimed from the async deposit queue","example":"0x0e79065B5F11b5BD1e62B935A600976ffF3754B9"}},"required":["address"]},"LidoStvaultUnstakeActionDto":{"type":"object","properties":{"address":{"type":"string","description":"Address that will request the exit","example":"0x0e79065B5F11b5BD1e62B935A600976ffF3754B9"},"shares":{"type":"number","description":"Amount of Mellow vault shares to redeem, in ether units. Use `shares` from the balance endpoint.","example":0.5}},"required":["address","shares"]},"LidoStvaultWithdrawActionDto":{"type":"object","properties":{"address":{"type":"string","description":"Address that requested the exit","example":"0x0e79065B5F11b5BD1e62B935A600976ffF3754B9"},"request_id":{"type":"string","description":"Identifier returned when the exit was requested. It encodes the redeem-queue timestamp, and is reported as `request_id` by the balance endpoint.","example":"0x0000000000000000000000000000000000000000000000000000000068a1b2c3"}},"required":["address","request_id"]},"LidoStvaultWithdrawFromPoolActionDto":{"type":"object","properties":{"address":{"type":"string","description":"Address that will request the withdrawal","example":"0x0e79065B5F11b5BD1e62B935A600976ffF3754B9"},"stv_amount":{"type":"number","description":"Amount of STV pool shares to withdraw, in whole STV. The STV token uses 27 decimals, not 18.","example":0.5},"steth_shares_to_rebalance":{"type":"number","description":"Amount of minted stETH shares to rebalance as part of the withdrawal, in ether units. Required when the position has minted (w)stETH; defaults to 0.","example":0,"default":0},"recipient":{"type":"string","description":"Address that will receive the withdrawn ETH. Defaults to the requesting address.","example":"0x0e79065B5F11b5BD1e62B935A600976ffF3754B9"}},"required":["address","stv_amount"]},"LidoStvaultExitRequestDto":{"type":"object","properties":{"request_id":{"type":"string","description":"Identifier to pass to the withdraw endpoint as `request_id`. It encodes the redeem-queue timestamp the request was merged into.","example":"0x0000000000000000000000000000000000000000000000000000000068a1b2c3"},"requested_at":{"type":"string","description":"ISO-8601 instant at which the request entered the queue.","example":"2026-07-30T09:14:18.000Z"},"shares":{"type":"number","description":"Mellow vault shares locked by this request, in ether units.","example":0.5},"assets":{"type":"number","description":"wstETH the request will release once claimable, in ether units. `0` until the queue prices the batch.","example":0.499},"is_claimable":{"type":"boolean","description":"Whether the request can already be finalized through the withdraw endpoint.","example":false}},"required":["request_id","requested_at","shares","assets","is_claimable"]},"LidoStvaultBalanceResponseDto":{"type":"object","properties":{"address":{"type":"string","description":"Address that was queried.","example":"0x0e79065B5F11b5BD1e62B935A600976ffF3754B9"},"call_forwarder":{"type":"string","description":"StrategyCallForwarder that custodies this address' position. The strategy routes every call through it, so on-chain explorers show the position here, not on the address itself.","example":"0x4D2c00589eeC4ac8d09DD7F0D7517fE0A0352D65"},"stv":{"type":"number","description":"STV pool shares held, in whole STV. The STV token uses 27 decimals.","example":0.9796},"stv_assets":{"type":"number","description":"ETH value of the STV position, in ether units.","example":1},"shares":{"type":"number","description":"Total Mellow vault shares held, active plus claimable, in ether units.","example":0.5},"active_shares":{"type":"number","description":"Mellow vault shares already settled and earning, in ether units.","example":0.5},"claimable_shares":{"type":"number","description":"Shares from a settled deposit request waiting for the claim endpoint, in ether units.","example":0},"wsteth":{"type":"number","description":"wstETH minted against the position and deposited into the Mellow vault, in ether units.","example":0},"minted_steth_shares":{"type":"number","description":"stETH shares owed to the pool for the minted wstETH, in ether units. This is the liability that forced rebalancing acts on.","example":0},"pending_deposit_assets":{"type":"number","nullable":true,"description":"Assets of the pending deposit request, in ether units. `null` when there is no pending request.","example":null},"pending_deposit_is_claimable":{"type":"boolean","description":"Whether the pending deposit request can already be claimed. `false` when there is no request.","example":false},"exit_requests":{"description":"Outstanding exit requests in the Mellow redeem queue.","type":"array","items":{"$ref":"#/components/schemas/LidoStvaultExitRequestDto"}}},"required":["address","call_forwarder","stv","stv_assets","shares","active_shares","claimable_shares","wsteth","minted_steth_shares","pending_deposit_assets","pending_deposit_is_claimable","exit_requests"]},"CreateNonceAccountActionDto":{"type":"object","properties":{"wallet_address":{"type":"string","example":"CgA24Ai2v3Px7vjyaDrQEf2bvT9a2SmQbhzY1dxjsfyv","description":"Wallet address of the user that will perform the staking action"}},"required":["wallet_address"]},"SolanaStakingActionResponseDto":{"type":"object","properties":{"unsigned_tx_hex":{"type":"string","example":"010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000407ad78679635575fa59120e42aa725d0c528d76651929092e7cb9c60ef79e4700d2223d69399353f72f673e61703ddf5527e0cf606ba1668c140caca313a5240fa2c8bc9fc56b99d8fbcbd0d754b8cfe9ce5a052a4620e30d52efc53babc876dd6000000000000000000000000000000000000000000000000000000000000000006a1d8179137542a983437bdfe2a7ab2557f535c8a78722b68a49dc00000000006a7d51718c774c928566398691d5eb68b5eb8a39b4b6d5c73555b210000000006a7d517192c568ee08a845f73d29788cf035c3145b21ab344d8062ea9400000ee4d96ab812b2ca1bac02f2dfaf7401cd823f14fe120ef04f251dc95cf6f2c80020303010600040400000004030205000405000000","description":"Unsigned craft transaction hex string"}},"required":["unsigned_tx_hex"]},"SolanaStakeActionDto":{"type":"object","properties":{"wallet_address":{"type":"string","example":"CgA24Ai2v3Px7vjyaDrQEf2bvT9a2SmQbhzY1dxjsfyv","description":"Wallet address of the user that will perform the staking action"},"nonce_account_address":{"type":"string","example":"3JGZKRWKBuhdbxkpmGRBhi47Jnj8W1ec5guUToYKw9ny","description":"Nonce account address, if not provided, the nonce will not be durable in time"},"amount":{"type":"number","example":1.01,"description":"Amount to stake in SOL. The minimum is read from the network on every request and is the minimum delegation plus the stake account rent exemption (1.00228288 SOL on mainnet at the time of writing)."},"sign":{"type":"boolean","example":true,"description":"Whether to partial-sign the transaction with the stake account key. Defaults to true when omitted. Set to false to return an unsigned transaction for external signing.","default":true}},"required":["wallet_address","amount"]},"SolanaUnstakeActionDto":{"type":"object","properties":{"wallet_address":{"type":"string","example":"CgA24Ai2v3Px7vjyaDrQEf2bvT9a2SmQbhzY1dxjsfyv","description":"Wallet address of the user that will perform the staking action"},"stake_account_address":{"type":"string","example":"3ztZzUBzfeJ17VoZyNngBW9Uezs9pDkPyJPcBYQMZDWu","description":"Stake account address to be unstaked will all its balance"},"nonce_account_address":{"type":"string","example":"3JGZKRWKBuhdbxkpmGRBhi47Jnj8W1ec5guUToYKw9ny","description":"Nonce account address, if not provided, the nonce will not be durable in time"}},"required":["wallet_address","stake_account_address"]},"SolanaWithdrawActionDto":{"type":"object","properties":{"wallet_address":{"type":"string","example":"CgA24Ai2v3Px7vjyaDrQEf2bvT9a2SmQbhzY1dxjsfyv","description":"Wallet address of the user that will perform the staking action to withdraw the funds and also be the recipient of the withdrawn funds"},"stake_account_address":{"type":"string","example":"3ztZzUBzfeJ17VoZyNngBW9Uezs9pDkPyJPcBYQMZDWu","description":"Stake account address from which the withdraw will be performed"},"nonce_account_address":{"type":"string","example":"3JGZKRWKBuhdbxkpmGRBhi47Jnj8W1ec5guUToYKw9ny","description":"Nonce account address, if not provided, the nonce will not be durable in time"},"amount":{"type":"number","example":0.01,"description":"Amount of stake to perform in solana units, Minimum 0.01. If Not provided, the entire stake will be withdrawn"}},"required":["wallet_address","stake_account_address"]},"SolanaPrepareActionDto":{"type":"object","properties":{"unsigned_tx_hex":{"type":"string","example":"010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000407ad78679635575fa59120e42aa725d0c528d76651929092e7cb9c60ef79e4700d2223d69399353f72f673e61703ddf5527e0cf606ba1668c140caca313a5240fa2c8bc9fc56b99d8fbcbd0d754b8cfe9ce5a052a4620e30d52efc53babc876dd6000000000000000000000000000000000000000000000000000000000000000006a1d8179137542a983437bdfe2a7ab2557f535c8a78722b68a49dc00000000006a7d51718c774c928566398691d5eb68b5eb8a39b4b6d5c73555b210000000006a7d517192c568ee08a845f73d29788cf035c3145b21ab344d8062ea9400000ee4d96ab812b2ca1bac02f2dfaf7401cd823f14fe120ef04f251dc95cf6f2c80020303010600040400000004030205000405000000","description":"Unsigned transaction body hex string"},"signatures":{"example":["b6c291475834980a1db41bad1bcc23e2930295c4ae61b0f419bdd7dd7fd0fd450f4248d4bf3ab5682916504462028f57eac7380f5e7013f0d02c5151deabf80a"],"description":"Array of transaction signature hex strings","type":"array","items":{"type":"string"}}},"required":["unsigned_tx_hex","signatures"]},"SolanaPrepareActionResponseDto":{"type":"object","properties":{"signed_tx_hex":{"type":"string","example":"01392e8e2d590173daa411c2b5c2cceb943458c30cf53268383603b29d2a5d0e422ec1a47aebc5528412d9d6cdfba114425711db38046f1d584bcbe2884b35330501000407ad78679635575fa59120e42aa725d0c528d76651929092e7cb9c60ef79e4700d2223d69399353f72f673e61703ddf5527e0cf606ba1668c140caca313a5240fa2c8bc9fc56b99d8fbcbd0d754b8cfe9ce5a052a4620e30d52efc53babc876dd6000000000000000000000000000000000000000000000000000000000000000006a1d8179137542a983437bdfe2a7ab2557f535c8a78722b68a49dc00000000006a7d51718c774c928566398691d5eb68b5eb8a39b4b6d5c73555b210000000006a7d517192c568ee08a845f73d29788cf035c3145b21ab344d8062ea9400000ee4d96ab812b2ca1bac02f2dfaf7401cd823f14fe120ef04f251dc95cf6f2c80020303010600040400000004030205000405000000","description":"Signed transaction string (hex encoded) ready to be broadcasted"}},"required":["signed_tx_hex"]},"SolanaBroadcastActionDto":{"type":"object","properties":{"signed_tx_hex":{"type":"string","example":"01392e8e2d590173daa411c2b5c2cceb943458c30cf53268383603b29d2a5d0e422ec1a47aebc5528412d9d6cdfba114425711db38046f1d584bcbe2884b35330501000407ad78679635575fa59120e42aa725d0c528d76651929092e7cb9c60ef79e4700d2223d69399353f72f673e61703ddf5527e0cf606ba1668c140caca313a5240fa2c8bc9fc56b99d8fbcbd0d754b8cfe9ce5a052a4620e30d52efc53babc876dd6000000000000000000000000000000000000000000000000000000000000000006a1d8179137542a983437bdfe2a7ab2557f535c8a78722b68a49dc00000000006a7d51718c774c928566398691d5eb68b5eb8a39b4b6d5c73555b210000000006a7d517192c568ee08a845f73d29788cf035c3145b21ab344d8062ea9400000ee4d96ab812b2ca1bac02f2dfaf7401cd823f14fe120ef04f251dc95cf6f2c80020303010600040400000004030205000405000000","description":"Signed transaction string (hex encoded) to be broadcasted"}},"required":["signed_tx_hex"]},"SolanaBroadcastActionResponseDto":{"type":"object","properties":{"tx_hash":{"type":"string","example":"29JtVkmnVR2EHZN9h79UU1wYs1xhfM7EB9hAL7Zf5Kv1JWFN1F9iUKpqXdVE2GPhGNU7Ywg5sPFVVxrBQk3SLnCk","description":"Transaction hash of the broadcasted transaction"}},"required":["tx_hash"]},"SolanaNetworkResponseDto":{"type":"object","properties":{"name":{"type":"string","example":"solana-mainnet","description":"Blockchain name"},"type":{"type":"string","example":"SOLANA","description":"Blockchain type"},"chain_id":{"type":"string","example":"mainnet-beta","description":"Chain identifier"},"is_default":{"type":"boolean","example":true,"description":"Whether this is the default network for this controller"}},"required":["name","type","chain_id","is_default"]},"JPoolStakeActionDto":{"type":"object","properties":{"wallet_address":{"type":"string","example":"CgA24Ai2v3Px7vjyaDrQEf2bvT9a2SmQbhzY1dxjsfyv","description":"Wallet address of the user that will perform the JPool stake action"},"amount":{"type":"number","example":0.1,"description":"Amount of SOL to deposit into JPool (minimum 0.003 SOL). Direct stake to validator from network config.","minimum":0.003}},"required":["wallet_address","amount"]},"JPoolUnstakeActionDto":{"type":"object","properties":{"wallet_address":{"type":"string","example":"CgA24Ai2v3Px7vjyaDrQEf2bvT9a2SmQbhzY1dxjsfyv","description":"Wallet address of the user that will perform the JPool unstake action"},"amount":{"type":"number","example":0.000369522,"description":"Pool token amount in UI decimal (JSOL), not SOL. Use pool_token_balance from stake-balance."}},"required":["wallet_address","amount"]},"JpoolNetworkResponseDto":{"type":"object","properties":{"name":{"type":"string","example":"solana-jpool-mainnet","description":"Blockchain name"},"type":{"type":"string","example":"SOLANA","description":"Blockchain type"},"chain_id":{"type":"string","example":"mainnet-beta","description":"Chain identifier"},"is_default":{"type":"boolean","example":true,"description":"Whether this is the default network for this controller"}},"required":["name","type","chain_id","is_default"]},"SuiStakeActionDto":{"type":"object","properties":{"wallet_address":{"type":"string","example":"0x7d20dcdb2bca4f508ea9613994683eb4e76e9c4ed371169677c1be02aaf0b58e","description":"Wallet address of the user that will perform the staking action"},"amount":{"type":"number","example":1,"description":"Amount of SUI to stake. Minimum 1 SUI. Up to 9 decimal places (MIST precision)."}},"required":["wallet_address","amount"]},"SuiStakeActionResponseDto":{"type":"object","properties":{"unsigned_tx_b64":{"type":"string","example":"AAADAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMKc3VpX3N5c3RlbRJyZXF1ZXN0X2FkZF9zdGFrZQADAQAAAQEA","description":"Unsigned transaction bytes encoded as base64"}},"required":["unsigned_tx_b64"]},"SuiUnstakeActionDto":{"type":"object","properties":{"wallet_address":{"type":"string","example":"0x7d20dcdb2bca4f508ea9613994683eb4e76e9c4ed371169677c1be02aaf0b58e","description":"Wallet address of the user that will perform the unstaking action"},"staked_sui_object_id":{"type":"string","example":"0x1a2b3c4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b7c8d9e0f1a2b","description":"Object ID of the StakedSui object to withdraw"}},"required":["wallet_address","staked_sui_object_id"]},"SuiPrepareActionDto":{"type":"object","properties":{"unsigned_tx_b64":{"type":"string","example":"AAADAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMKc3VpX3N5c3RlbRJyZXF1ZXN0X2FkZF9zdGFrZQADAQAAAQEA","description":"Unsigned transaction bytes encoded as base64"},"signatures":{"example":["AHJzPZ8T...base64signature"],"description":"Array of base64-encoded signatures for the unsigned transaction","type":"array","items":{"type":"string"}}},"required":["unsigned_tx_b64","signatures"]},"SuiPrepareActionResponseDto":{"type":"object","properties":{"signed_tx_b64":{"type":"string","example":"eyJieXRlcyI6IkFBQURB...base64encodedjson","description":"Combined transaction bytes and signatures, encoded as base64(JSON.stringify({ bytes, signatures }))"}},"required":["signed_tx_b64"]},"SuiBroadcastActionDto":{"type":"object","properties":{"unsigned_tx_b64":{"type":"string","example":"AAADAQEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMKc3VpX3N5c3RlbRJyZXF1ZXN0X2FkZF9zdGFrZQADAQAAAQEA","description":"Unsigned transaction bytes encoded as base64"},"signatures":{"example":["AHJzPZ8T...base64signature"],"description":"Array of base64-encoded signatures for the transaction","type":"array","items":{"type":"string"}},"signed_tx_b64":{"type":"string","example":"eyJieXRlcyI6IkFBQURB...base64encodedjson","description":"Combined transaction bytes and signatures, encoded as base64(JSON.stringify({ bytes, signatures }))"}}},"SuiBroadcastActionResponseDto":{"type":"object","properties":{"tx_hash":{"type":"string","example":"8gYvWKd5V3hT2qZnL4xR9mA7cE1fJ6uB0pN3sO5tY2wX","description":"Transaction hash (Sui transaction digest) of the broadcasted transaction"}},"required":["tx_hash"]},"SuiNetworkResponseDto":{"type":"object","properties":{"name":{"type":"string","example":"sui-mainnet","description":"Blockchain name"},"type":{"type":"string","example":"SUI","description":"Blockchain type"},"chain_id":{"type":"string","example":"mainnet","description":"Chain identifier"},"is_default":{"type":"boolean","example":true,"description":"Whether this is the default network for this controller"}},"required":["name","type","chain_id","is_default"]}}}}