Add a network to a wallet destination
Makes a registered wallet destination payable on one more network of its address family. The destination must be extensible — a self-hosted wallet with its ownership proven and no contract code — and the network must be one of its reachableChains. The network lands PENDING_APPROVAL and becomes ACTIVE once TCB approves it; the destination itself keeps its status, and no new holding period starts.
Makes a registered wallet destination payable on one more network of its address family. The destination must be extensible — a self-hosted wallet with its ownership proven and no contract code — and the network must be one of its reachableChains. The network lands PENDING_APPROVAL and becomes ACTIVE once TCB approves it; the destination itself keeps its status, and no new holding period starts.
Authorization
bearer In: header
Path Parameters
The destination id.
The instrumentId of the wallet destination.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
The network to add to a wallet destination.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/api/partner/v1/beneficiaries/string/instruments/string/networks" \ -H "Content-Type: application/json" \ -d '{ "chain": "BASE" }'{ "data": { "addressFamily": "EVM", "beneficiaryId": "9b3e5c17-2a80-4f64-b1d9-6c0e8a4f2d53", "chain": null, "createdAt": "2026-09-03T10:15:30.000Z", "currency": "EUR", "deletedAt": null, "details": { "bicSwift": "COBADEFFXXX", "iban": "DE89370400440532013000" }, "disclosure": { "items": [ "ENVIRONMENT_IS_TESTNET: The environment is a testnet (Arbitrum Sepolia). No mainnet deployment exists.", "YIELD_IS_SIMULATED: The vault rate is set administratively and the interest it produces is minted as fresh underlying, not earned. It does not represent a return generated by deployed capital.", "FIAT_RAILS_ARE_MOCKED: No real fiat movement occurs. Balances are ledger entries against a sandbox provider.", "CONVERSION_RATES_ARE_MARKET_QUOTED_OR_REFUSED: A conversion is priced only by an external venue that quotes independently of TCB. When no such venue can price the pair, the conversion is refused rather than priced from an internal table. Read rate.pricingModel on every conversion: MARKET is a venue quote; any other value is not a market rate and must not be presented as one.", "CONTRACTS_ARE_UNAUDITED: No audit has been performed. Mainnet is gated on a two-firm audit that has not been commissioned.", "CUSTODY_IS_TCB_SUBACCOUNT: Everything held for the client — its vault shares, and the tcbUSD it holds between the steps of the tokenised deposit chain — is held in TCB custody, in the one TCB wallet assigned to the client. The client holds no keys and moves those tokens only through this API; each sub-account's shares and tcbUSD are book entries against what that wallet holds.", "INTEGRATION_AGREEMENT_ONLY: Fees as published on the rate card; no yield share, no return commitment." ], "summary": "This is a pilot integration on a testnet. Nothing in this system earns anything: the yield is simulated and the fiat rails are mocked.", "version": "2026-10-27" }, "extensibility": { "extensible": false, "reason": "OWNERSHIP_NOT_PROVEN" }, "extensible": false, "instrumentId": "1d7a9f42-6b05-4e83-a2c1-8f3b0d6e4c97", "kind": "FIAT_BANK", "last4": "3000", "name": "Acme Supplies GmbH", "network": { "chain": "BASE", "status": "PENDING_APPROVAL" }, "networks": [ { "addedAt": "2026-10-21T10:15:30.000Z", "chain": "ARBITRUM", "id": "4f0c2a91-7d3e-4b58-9a16-2e8d5c7b0f34", "screening": { "at": "2026-09-02T10:15:30.000Z", "result": "CLEAR" }, "status": "ACTIVE" } ], "ownership": { "at": null, "proven": false }, "rail": "SEPA", "reachableChains": [ "ETHEREUM", "POLYGON", "ARBITRUM" ], "screening": { "status": "CLEAR" }, "status": "PENDING_APPROVAL", "usable": false, "usableAt": null }, "success": true, "timestamp": "2026-09-02T10:15:30.000Z"}Classify a wallet address GET
What an address is before you register it: its family, every network its format is valid on, the networks TCB sends on (the ones instrument.networks may name), and the networks where it carries contract code. Saves nothing.
Retire a network of a wallet destination DELETE
Stops payouts on one network of a wallet destination. The network row is kept, with status RETIRED, and can be added again later. The last ACTIVE network cannot be retired: remove the destination instead.