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": "bcrt1pm63jgevgm57ykqhx0nsgtfet9ruydyde2mqjcllt6ey3gc8wek6qextvls",
"explanation": "Holds BTC on Bitcoin.",
"rotation_policy": "Every 3 days",
"next_predicted_rotation": "2025-11-21 19:28:48.635239 UTC"
},
{
"name": "bitcoin_vault_swap_address_for_broker_cFM8kRvLBXagj6ZXvrt7wCM4jGmHvb5842jTtXXg3mRHjrvKy",
"address": "bcrt1pluvxe9glt7hm5muhfn65ukjek8pgdf9ecr0fl2xtx3cn0fweawjqm4utj3",
"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": "2025-11-21 19:28:48.635239 UTC"
},
{
"name": "bitcoin_vault_swap_address_for_broker_cFNAqZvSfrepyHco1gqGb48p1rYrPF2kSWrJfieqMoemdrjZR",
"address": "bcrt1pmnwfs6ty4ua3penhwc27p48kmntgjcjgh8tu2prgq5gdjjrax68s8fkhlv",
"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": "2025-11-21 19:28:48.635239 UTC"
}
],
"Solana": [
{
"name": "solana_sol_vault",
"address": "HmUhtpUdzGNnq5yRWzaKdWkzAZDco4G8M8bw3wHzZHpB",
"explanation": "Holds SOL on Solana.",
"rotation_policy": "Every 3 days",
"next_predicted_rotation": "2025-11-21 19:28:48.635239 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_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