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