RPC requests
cf_controlled_deposit_channels
Returns all currently open deposit channels for the provided chain. If no chain is provided, returns all open deposit channels across all chains.
Parameters:
chain: Chain (Optional)at: Block Hash as string (Optional), defaults to the last block if not provided
Return:
- an object containing an array of addresses for each chain:
{
"Bitcoin": [..],
"Ethereum": [..],
"Arbitrum": [..],
"Solana": [..]
}Example
Request:
curl -H "Content-Type: application/json" -d '
{
"jsonrpc":"2.0",
"id":"1",
"method":"cf_controlled_deposit_addresses",
"params":{}
}' http://localhost:9944Response:
{
"jsonrpc": "2.0",
"result": {
"Bitcoin": [
"bcrt1p59avvgtdzxhhgfj6sxrhn9xlll66v92se9p87pmeu04e6pa2xdysr35c9y",
"bcrt1p2z0mqelqp4y0twg4lzr9znpn4jxa453gn5n7xr3attkevhr7rc3scstjp3",
],
"Ethereum": [
"0xed971cf49c6b4d7432d50dd7afe9e8bc1b1842c6",
],
"Arbitrum": [
"0x9d20a1d977c15cd0993a1979e9ac684bcc699c54"
],
"Solana": [
"9K1rSSRr222DLhjBHukvHws9unAah1ad5gYjWpaEN39T",
]
},
"id": "1"
}cf_controlled_vault_addresses
Returns all vault addresses currently controlled by the network. This includes both static addresses, as well as those that are rotated each epoch.
By default a short explanation is provided for every address, describing how it’s used by the network.
Parameters:
chain: Chain (Optional). If provided, only vault addresses for that chain are returned, otherwise for all chains.compact: bool (Optional). If true, all explanatory fields are skipped. Useful if rpc is called as part of an automatic setup.at: Block Hash as string (Optional), defaults to the last block if not provided
Return:
- an object containing an array of objects for each chain:
{
"Bitcoin": [..],
"Ethereum": [..],
"Arbitrum": [..],
"Solana": [..]
}A single entry looks like follows:
{
"name": "String",
"address": "String (address)",
"explanation": "String",
"rotation_policy": "String",
"next_predicted_rotation": "String (date and time)"
}Example
Request:
curl -H "Content-Type: application/json" -d '
{
"jsonrpc":"2.0",
"id":"1",
"method":"cf_controlled_vault_addresses",
"params":{}
}' http://localhost:9944Response:
{
"jsonrpc": "2.0",
"result": {
"Bitcoin": [
{
"name": "bitcoin_vault",
"address": "bcrt1pzel34thmacke4yp9ddq44zcjfpkn67eyzh8ht67ezu5ukcmc5h2syvvq73",
"explanation": "Holds BTC on Bitcoin.",
"rotation_policy": "Every 3 days",
"next_predicted_rotation": "2026-01-27 18:51:03.181837 UTC"
},
{
"name": "bitcoin_vault_swap_address_for_broker_cFM8kRvLBXagj6ZXvrt7wCM4jGmHvb5842jTtXXg3mRHjrvKy",
"address": "bcrt1pc0se38lrkh2zuch0sndfs4r0cl5z5t4d5uh5ese4rsgkgn782wvqw9u4wv",
"explanation": "Special per-broker address for vault swap support on Bitcoin. Receives user funds for BTC vault swaps before they are fetched into the vault.",
"rotation_policy": "Every 3 days",
"next_predicted_rotation": "2026-01-27 18:51:03.181837 UTC"
},
{
"name": "bitcoin_vault_swap_address_for_broker_cFNAqZvSfrepyHco1gqGb48p1rYrPF2kSWrJfieqMoemdrjZR",
"address": "bcrt1pp9t9hjzengw3qvd3vwuxwumz0wwflmf0v8asf9lqrulmmcpavs8slsw00s",
"explanation": "Special per-broker address for vault swap support on Bitcoin. Receives user funds for BTC vault swaps before they are fetched into the vault.",
"rotation_policy": "Every 3 days",
"next_predicted_rotation": "2026-01-27 18:51:03.181837 UTC"
}
],
"Solana": [
{
"name": "solana_sol_vault",
"address": "FZDrqqSwS6cKd1avWU8trDpCXSip5dvHZFamvS7gw8pu",
"explanation": "Holds SOL on Solana.",
"rotation_policy": "Every 3 days",
"next_predicted_rotation": "2026-01-27 18:51:03.181837 UTC"
},
{
"name": "solana_usdc_vault",
"address": "9CGLwcPknpYs3atgwtjMX7RhgvBgaqK8wwCvXnmjEoL9",
"explanation": "Holds USDC on Solana. Directly receives user funds for USDC vault swaps.",
"rotation_policy": "Never",
"next_predicted_rotation": null
},
{
"name": "solana_usdt_vault",
"address": "FjAhVXJj9N7nqVK6y5fzgVcAxtRYFnHCZgy9FEMMDww3",
"explanation": "Holds USDT on Solana. Directly receives user funds for USDT vault swaps.",
"rotation_policy": "Never",
"next_predicted_rotation": null
},
{
"name": "solana_sol_vault_swap_account",
"address": "EWaGcrFXhf9Zq8yxSdpAa75kZmDXkRxaP17sYiL6UpZN",
"explanation": "Special account for vault swap support for SOL on Solana. Receives user funds for SOL vault swaps before they are fetched into the vault.",
"rotation_policy": "Never",
"next_predicted_rotation": null
}
],
"Arbitrum": [
{
"name": "arbitrum_vault_contract",
"address": "0xe7f1725e7734ce288f8367e1bb143e90bb3f0512",
"explanation": "Holds ETH and all tokens on Arbitrum. Directly receives user funds in case of smart contract-based vault swaps.",
"rotation_policy": "Never",
"next_predicted_rotation": null
}
],
"Ethereum": [
{
"name": "ethereum_vault_contract",
"address": "0xb7a5bd0345ef1cc5e66bf61bdec17d2461fbd968",
"explanation": "Holds ETH and all tokens on Ethereum. Directly receives user funds for smart contract-based vault swaps.",
"rotation_policy": "Never",
"next_predicted_rotation": null
}
]
},
"id": "1"
}
Last updated on