{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/blockdaemon/main/json-schema/blockdaemon-deactivation-intents-schema.json", "title": "DeactivationIntents", "description": "Deactivation intents", "x-generated": "2026-10-14", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/blockdaemon-staking-api-1-0-0-openapi.yml#/components/schemas/DeactivationIntents", "type": "object", "required": [ "protocol", "network", "customer_id" ], "properties": { "protocol": { "$ref": "#/$defs/Protocol" }, "network": { "$ref": "#/$defs/Network" }, "polygon": { "$ref": "#/$defs/DeactivationIntentsPolygon" }, "solana": { "$ref": "#/$defs/DeactivationIntentsSolana" }, "near": { "$ref": "#/$defs/DeactivationIntentsNear" }, "cardano": { "$ref": "#/$defs/DeactivationIntentsCardano" }, "cosmos": { "$ref": "#/$defs/DeactivationIntentsCosmos" }, "binance": { "$ref": "#/$defs/DeactivationIntentsBinance" }, "customer_id": { "$ref": "#/$defs/CustomerId" } }, "$defs": { "BinanceAccountAddress": { "type": "string", "description": "Binance beacon chain address.", "format": "bech32", "pattern": "^bnb[0-9a-z]+$" }, "BinanceDeactivationIntentResponse": { "allOf": [ { "$ref": "#/$defs/CommonDeactivationResponse" }, { "type": "object", "description": "Response to a new deactivation intent request.", "required": [ "protocol", "network", "binance" ], "properties": { "protocol": { "$ref": "#/$defs/BinanceProtocol" }, "network": { "$ref": "#/$defs/BinanceNetwork" }, "binance": { "$ref": "#/$defs/DeactivateIntentBinance" } } } ] }, "BinanceJager": { "type": "string", "description": "The smallest denomination of Binance Coin (BNB) is called Jager. 1 Jager =0.00000001 BNB.", "pattern": "^[1-9]\\d+$" }, "BinanceNetwork": { "type": "string", "description": "Binance beacon chain network", "enum": [ "mainnet", "testnet" ] }, "BinanceProtocol": { "type": "string", "description": "Binance beacon chain protocol", "enum": [ "binance" ] }, "BinanceValidatorAddress": { "type": "string", "description": "Binance beacon chain validator address.", "format": "bech32", "pattern": "^bva[0-9a-zA-Z]*$" }, "CardanoBaseAddress": { "type": "string", "description": "bech32 encoded base address. [Accounts](https://cips.cardano.org/cips/cip19/).", "format": "bech32" }, "CommonDeactivationResponse": { "type": "object", "required": [ "deactivate_intent_id", "customer_id" ], "properties": { "deactivate_intent_id": { "$ref": "#/$defs/DeactivateIntentId" }, "customer_id": { "$ref": "#/$defs/CustomerId" } } }, "CosmosAccountAddress": { "type": "string", "description": "Public Key of an asymmetric key-pair.", "format": "bech32", "pattern": "^cosmos[1-9a-zA-Z]{39}$" }, "CosmosDeactivationIntentResponse": { "allOf": [ { "$ref": "#/$defs/CommonDeactivationResponse" }, { "type": "object", "description": "Response to a new deactivation intent request.", "required": [ "protocol", "network", "cosmos" ], "properties": { "protocol": { "$ref": "#/$defs/CosmosProtocol" }, "network": { "$ref": "#/$defs/CosmosNetwork" }, "cosmos": { "$ref": "#/$defs/DeactivateIntentCosmos" } } } ] }, "CosmosNetwork": { "type": "string", "description": "Cosmos network", "enum": [ "mainnet", "testnet" ] }, "CosmosProtocol": { "type": "string", "description": "Cosmos protocol", "enum": [ "cosmos" ] }, "CosmosUatom": { "type": "string", "description": "Denomination of the cryptocurrency Cosmos.", "pattern": "^[1-9]\\d+$" }, "CustomerId": { "type": "string", "description": "Unique identifier for a customer", "minimum": 1 }, "DeactivateIntentBinance": { "type": "object", "description": "Binance Deactivate Intent", "required": [ "unsigned_transaction", "delegator_address", "validator_address", "amount" ], "properties": { "unsigned_transaction": { "$ref": "#/$defs/UnsignedTransaction" }, "delegator_address": { "$ref": "#/$defs/BinanceAccountAddress" }, "validator_address": { "$ref": "#/$defs/BinanceValidatorAddress" }, "amount": { "$ref": "#/$defs/BinanceJager" } } }, "DeactivateIntentCosmos": { "type": "object", "description": "Cosmos Deactivate Intent", "required": [ "unsigned_transaction", "delegator_address", "validator_address", "amount" ], "properties": { "unsigned_transaction": { "$ref": "#/$defs/UnsignedTransaction" }, "delegator_address": { "$ref": "#/$defs/CosmosAccountAddress" }, "validator_address": { "$ref": "#/$defs/CosmosAccountAddress" }, "amount": { "$ref": "#/$defs/CosmosUatom" }, "hex_transaction": { "$ref": "#/$defs/ProcessedComosTransaction" } } }, "DeactivateIntentId": { "type": "string", "format": "uuid", "description": "Unique idenifier for deactivate intent." }, "DeactivateIntentNear": { "type": "object", "description": "NEAR Protocol Deactivate Intent", "required": [ "to", "unsigned_transaction", "unsigned_transaction_hash", "amount", "wallet_address", "public_key", "expiration_time" ], "properties": { "to": { "$ref": "#/$defs/NearAddress" }, "unsigned_transaction": { "$ref": "#/$defs/UnsignedTransaction" }, "unsigned_transaction_hash": { "$ref": "#/$defs/UnsignedTransactionHash" }, "amount": { "$ref": "#/$defs/NearYocto" }, "wallet_address": { "$ref": "#/$defs/NearAddress" }, "public_key": { "$ref": "#/$defs/NearPublicKey" }, "expiration_time": { "$ref": "#/$defs/ExpirationTime" } } }, "DeactivateIntentSolana": { "type": "object", "description": "Result of the new Deactivate Intent request.", "required": [ "total_deactivated_amount", "deactivates", "splits" ], "properties": { "deactivates": { "type": "array", "items": { "$ref": "#/$defs/DeactivateStakeSolana" } }, "splits": { "type": "array", "items": { "$ref": "#/$defs/SplitStakeSolana" } }, "total_deactivated_amount": { "$ref": "#/$defs/Lamport" } } }, "DeactivateStakeSolana": { "type": "object", "description": "Result of the deactivation transaction request", "required": [ "unsigned_transaction", "stake_account_authority", "stake_account_address", "withdrawal_authority", "stake_id", "amount", "expiration_time" ], "properties": { "unsigned_transaction": { "$ref": "#/$defs/UnsignedTransaction" }, "stake_account_authority": { "$ref": "#/$defs/SolanaPublicKey" }, "stake_account_address": { "$ref": "#/$defs/SolanaPublicKey" }, "withdrawal_authority": { "$ref": "#/$defs/SolanaPublicKey" }, "stake_id": { "$ref": "#/$defs/StakeId" }, "amount": { "$ref": "#/$defs/Lamport" }, "expiration_time": { "$ref": "#/$defs/ExpirationTime" } } }, "DeactivationIntentsBinance": { "type": "array", "description": "List of deactivation intents", "items": { "$ref": "#/$defs/BinanceDeactivationIntentResponse" } }, "DeactivationIntentsCardano": { "type": "array", "description": "List of deactivation intents", "items": { "type": "object", "description": "Cardano Protocol Deactivate Intent", "required": [ "deactivate_intent_id", "base_address", "unsigned_transaction" ], "properties": { "deactivate_intent_id": { "$ref": "#/$defs/DeactivateIntentId" }, "base_address": { "$ref": "#/$defs/CardanoBaseAddress" }, "unsigned_transaction": { "$ref": "#/$defs/UnsignedTransaction" } } } }, "DeactivationIntentsCosmos": { "type": "array", "description": "List of deactivation intents", "items": { "$ref": "#/$defs/CosmosDeactivationIntentResponse" } }, "DeactivationIntentsNear": { "type": "array", "description": "List of deactivation intents", "items": { "$ref": "#/$defs/NearDeactivationIntentResponse" } }, "DeactivationIntentsPolygon": { "type": "object", "required": [ "items", "wallet_address" ], "properties": { "items": { "type": "array", "items": { "$ref": "#/$defs/Unbond" } }, "wallet_address": { "$ref": "#/$defs/EthereumAddress" } } }, "DeactivationIntentsSolana": { "description": "List of deactivation intents", "type": "array", "items": { "$ref": "#/$defs/SolanaDeactivationIntentResponse" } }, "EthereumAddress": { "type": "string", "description": "Hex-encoded Ethereum [account or smart contract address](https://ethereum.org/en/developers/docs/accounts/).", "format": "hex", "pattern": "^0x[a-fA-F0-9]{40}$" }, "ExpirationTime": { "type": "integer", "description": "Transaction expiration time", "format": "int64" }, "Lamport": { "type": "string", "description": "Denomination of the cryptocurrency Solana.", "pattern": "^[1-9]\\d+$" }, "NearAddress": { "type": "string", "description": "Base58 encoded public key or registered named account. [Accounts](https://docs.near.org/concepts/basics/accounts/account-id/).", "pattern": "^([a-km-zA-HJ-NP-Z1-9]{22,44})|((([a-z\\d]+[-_])*[a-z\\d]+\\.)*([a-z\\d]+[-_])*[a-z\\d]+)$" }, "NearDeactivationIntentResponse": { "allOf": [ { "$ref": "#/$defs/CommonDeactivationResponse" }, { "type": "object", "description": "Response to a new deactivation intent request.", "required": [ "protocol", "network", "near" ], "properties": { "protocol": { "$ref": "#/$defs/NearProtocol" }, "network": { "$ref": "#/$defs/NearNetwork" }, "near": { "$ref": "#/$defs/DeactivateIntentNear" } } } ] }, "NearNetwork": { "type": "string", "description": "NEAR network", "enum": [ "mainnet", "testnet", "localnet" ] }, "NearProtocol": { "type": "string", "description": "Near protocol", "enum": [ "near" ] }, "NearPublicKey": { "type": "string", "description": "Base58 encoded public key prefixed by ed25519, associated with the private key that will be used to sign the transaction.", "pattern": "^ed25519:[a-km-zA-HJ-NP-Z1-9]{22,44}$" }, "NearYocto": { "type": "string", "description": "Denomination of NEAR Protocol.", "pattern": "^[1-9]\\d+$" }, "Network": { "type": "string", "description": "Protocol-specific network.", "enum": [ "mainnet", "localnet", "goerli", "prater", "hoodi", "testnet", "devnet", "kusama", "westend", "preprod", "fuji", "local" ] }, "Nonce": { "type": "integer", "description": "Number for one use only" }, "ProcessedComosTransaction": { "type": "object", "description": "Returns back the transactionHash and unsignedTxHex for signing purposes", "required": [ "transactionHash", "unsignedTxHex" ], "properties": { "transaction_hash": { "type": "string", "description": "The SHA-256 hash of the signable transaction in hexadecimal format." }, "unsigned_transaction_hex": { "type": "string", "description": "The original unsigned transaction encoded in hexadecimal format." } } }, "Protocol": { "type": "string", "description": "Blockchain protocol.", "enum": [ "ethereum", "polkadot", "solana", "cosmos", "polygon", "near", "cardano", "avalanche", "binance" ] }, "SolanaDeactivationIntentResponse": { "allOf": [ { "$ref": "#/$defs/CommonDeactivationResponse" }, { "type": "object", "description": "Response to a new deactivation intent request.", "required": [ "network", "protocol", "solana" ], "properties": { "protocol": { "$ref": "#/$defs/SolanaProtocol" }, "network": { "$ref": "#/$defs/SolanaNetwork" }, "solana": { "$ref": "#/$defs/DeactivateIntentSolana" } } } ] }, "SolanaNetwork": { "type": "string", "description": "Solana network", "enum": [ "mainnet", "testnet" ] }, "SolanaProtocol": { "type": "string", "description": "Solana protocol", "enum": [ "solana" ] }, "SolanaPublicKey": { "type": "string", "description": "Public Key of an asymmetric key-pair.", "format": "base58", "pattern": "^[1-9A-HJ-NP-Za-km-z]{44}$" }, "SplitStakeSolana": { "type": "object", "description": "Result of the split transaction request", "required": [ "unsigned_transaction", "stake_account_authority", "new_stake_account_address", "new_stake_id", "splitted_stake_account_address", "splitted_stake_id", "amount" ], "properties": { "unsigned_transaction": { "$ref": "#/$defs/UnsignedTransaction" }, "stake_account_authority": { "$ref": "#/$defs/SolanaPublicKey" }, "new_stake_account_address": { "$ref": "#/$defs/SolanaPublicKey" }, "new_stake_id": { "$ref": "#/$defs/StakeId" }, "splitted_stake_account_address": { "$ref": "#/$defs/SolanaPublicKey" }, "splitted_stake_id": { "$ref": "#/$defs/StakeId" }, "amount": { "$ref": "#/$defs/Lamport" } } }, "StakeId": { "description": "Unique stake identifier.", "type": "string", "format": "base58" }, "Unbond": { "type": "object", "description": "Unbond information", "required": [ "nonce", "amount", "withdraw_epoch" ], "properties": { "nonce": { "$ref": "#/$defs/Nonce" }, "amount": { "$ref": "#/$defs/Wei" }, "withdraw_epoch": { "type": "integer" } } }, "UnsignedTransaction": { "type": "string", "format": "base64", "description": "Generated unsigned transaction smart contract call data." }, "UnsignedTransactionHash": { "type": "string", "format": "base64", "description": "A generated transaction that is ready to sign." }, "Wei": { "type": "string", "description": "Denomination of the cryptocurrency Polygon.", "pattern": "^[1-9]\\d+$" } } }