Get deposit addresses
get_deposit_addressesRead-only. The addresses to send funds TO in order to FUND this account, one per (asset, chain) pair. These are Skipo-owned addresses that credit the balance — the OPPOSITE direction from get_contacts, which lists the external destinations money can be withdrawn to. Do not confuse the two: sending to a contact address does not fund the account.
Each entry has assetSymbol, networkId, networkName, address, tag, tagRequired, tagType and tagLabel. Join to an asset or a movement on networkId — the same key everywhere.
⚠️ FOUR ways a deposit is lost, all stated here rather than left to be inferred. FIRST: an address is only valid on the networkId it is listed under. Chains share address formats — every EVM chain does — so the same string can appear under several, and funds sent over a chain Skipo does not sweep do not arrive. SECOND: when tagRequired is true the tag is MANDATORY, because Skipo shares one address across accounts on those chains and the tag is the only thing identifying this one. tagType says which word the chain uses (MEMO or DESTINATION_TAG) as a machine key; tagLabel is the display text. Branch on tagRequired, never on tag !== null — most chains have no tag — and never on tagLabel, which can be null while a tag is still required.
THIRD: an EVM address is shared by EVERY token on that chain, so sending a different asset to the address listed for this one parks the funds for manual review. Send only the exact assetSymbol on the row, and if an expected pair is absent do NOT use a neighbouring row address. FOURTH: a deposit below the asset minimumDeposit is NOT rejected, returned or queued — it is swept to a Skipo internal account, producing no deposit row, no webhook and no error. Read minimumDeposit from get_assets before advising any amount, and warn against dust as a connectivity test. All four failures are silent: there is no error response for any of them, and recovery is a manual support case.
Addresses are stable — Skipo does not rotate or retire them — and reading this never mints a new one, so re-reading is free. Identify a row by the PAIR (assetSymbol, networkId), not by the address string, which is not unique across chains. A pair with no address yet is ABSENT rather than listed empty. Fiat has no chain and is never listed: asking for CLP returns an empty list, not an error. Amounts are not here: minimumDeposit is on get_assets.
⚠️ ONLY assets the account has ADDED are listed, and this is the most common reason a user says an address is "missing". Skipo pre-provisions an address for effectively the whole catalogue before anyone asks for it, so an address existing does not mean the asset is in use. An asset that has not been added returns an EMPTY list — including when it is named explicitly. Do NOT report that as "you have no address" or as an error: the address already exists and is unchanged. The fix is to add the asset in the Skipo app, or open the deposit screen and select it, after which it appears here on the next call. This is the same set get_balances returns.
Returns a bare list, not paginated.
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "get_deposit_addresses"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| asset_symbol | No | Restrict to one asset. Omit for every asset the account can deposit. |