Skip to main content

Tool reference

Six tools. Every call is policy-checked before execution; a call outside the policy returns an error naming the violated rule, which the agent can relay to the user.

list_accounts​

Returns the wallet's accounts with their addresses per chain family (EVM, Avalanche X/P, Solana, Bitcoin). Only accounts the policy exposes are listed.

No parameters.

{
"accounts": [
{
"name": "Account 1",
"addresses": {
"evm": "0x71C7656EC7ab88b098defB751B7401B5f6d8976F",
"avm": "X-avax1…",
"pvm": "P-avax1…",
"svm": "5oNDL…",
"btc": "bc1q…"
}
}
]
}

get_balances​

Returns token balances for permitted accounts on permitted networks — native assets plus known tokens, with amounts and USD estimates.

ParameterTypeNotes
accountstring, optionalRestrict to one account
networkstring, optionalCAIP-2 id, e.g. eip155:43114

The signing tools​

All four share the same contract: the agent supplies an unsigned transaction, the server checks it against the policy (account allowed? network allowed? recipient allowed? inside the spend limit?), signs with the CubeSigner-held key, broadcasts, and returns the transaction id.

ToolChain familyTransaction format
sign_and_send_evm_txAny permitted EVM networkEVM fields: to, value, data, plus a CAIP-2 network
sign_and_send_avalanche_txAvalanche X and P-ChainsUnsigned Avalanche transaction bytes with a chain alias
sign_and_send_solana_txSolanaSerialised unsigned Solana transaction
sign_and_send_btc_txBitcoinRecipient and amount; the server assembles UTXOs

A refusal is not an exception: the tool responds with a structured error (for example, spend limit exceeded, with the limit and attempted amount) so the agent can explain and adjust rather than retry blindly.

Errors agents should expect​

ConditionWhat the agent sees
Policy disabledEvery tool fails with a policy-disabled error
Account or network not permittedError naming the constraint
Spend limit exceededError with limit and attempted amount
Recipient not on the allowlistError naming the recipient rule