Cubewire supports multiple blockchain networks and asset types. This document covers network configuration, supported chains, and asset management.
Each network returned by the API includes the following properties:
| Field | Type | Description |
|---|---|---|
id | UUID | Unique network identifier |
name | string | Human-readable network name |
chainId | string | Blockchain chain ID |
status | string | Network status (active, inactive) |
type | string | Network type (MAINNET, TESTNET) |
explorer | string | URL for the network's block explorer |
symbol | string | Native currency symbol (e.g., "ETH") |
decimals | number | Decimal places for native currency (typically 18) |
nativeTokenLogoUrl | string | URL to native token logo (nullable) |
isCustomChain | boolean | Whether this is a custom/private chain |
blockscoutApiUrl | string | Blockscout API URL (nullable) |
organizationId | UUID | Organization ID for custom chains |
createdAt | datetime | Network creation timestamp (ISO 8601) |
updatedAt | datetime | Last update timestamp (ISO 8601) |
Example network object:
{
"id": "f8a7b6c5-d4e3-4f2a-1b0c-9d8e7f6a5b4c",
"name": "Ethereum Sepolia Testnet",
"chainId": "11155111",
"status": "active",
"type": "TESTNET",
"explorer": "https://sepolia.etherscan.io",
"symbol": "ETH",
"decimals": 18,
"nativeTokenLogoUrl": "https://assets.cubewire.com/tokens/eth.png",
"isCustomChain": false,
"blockscoutApiUrl": "https://eth-sepolia.blockscout.com/api",
"organizationId": "b4c3d2e1-f0a9-4b8c-7d6e-5f4a3b2c1d0e",
"createdAt": "2025-11-15T14:30:00.000Z",
"updatedAt": "2025-11-15T14:30:00.000Z"
}
The blockchain's native currency (ETH, MATIC, etc.).
Properties:
| Field | Type | Description |
|---|---|---|
type | string | Always "native" |
symbol | string | Currency symbol (optional, auto-detected) |
decimals | number | Decimal places (optional, auto-detected) |
Example:
{
"asset": {
"type": "native",
"symbol": "ETH",
"decimals": 18
}
}
Standard fungible tokens on EVM networks.
Properties:
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | Always "token" |
address | string | Yes | Token contract address |
symbol | string | No | Token symbol (auto-fetched if omitted) |
decimals | number | No | Decimal places (auto-fetched if omitted) |
Example:
{
"asset": {
"type": "token",
"address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"symbol": "USDC",
"decimals": 6
}
}
Specify the target network using chainId:
{
"type": "TRANSFER",
"sender": {
"vaultId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
},
"recipient": {
"address": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb"
},
"asset": {
"type": "native",
"symbol": "ETH",
"decimals": 18
},
"amount": "1000000000000000000",
"chainId": 1,
"gasLimit": "21000",
"maxFeePerGas": "50000000000",
"maxPriorityFeePerGas": "2000000000"
}
For complete API documentation including endpoints, request/response examples, and code samples:
GET /api/v1/networksPOST /api/v1/networksGET /api/v1/networks/by-chain-id/{chainId}GET /api/v1/networks/registryGET /api/v1/networks/{id}PATCH /api/v1/networks/{id}DELETE /api/v1/networks/{id}Cubewire supports multiple blockchain networks and asset types. This document covers network configuration, supported chains, and asset management.
Each network returned by the API includes the following properties:
| Field | Type | Description |
|---|---|---|
id | UUID | Unique network identifier |
name | string | Human-readable network name |
chainId | string | Blockchain chain ID |
status | string | Network status (active, inactive) |
type | string | Network type (MAINNET, TESTNET) |
explorer | string | URL for the network's block explorer |
symbol | string | Native currency symbol (e.g., "ETH") |
decimals | number | Decimal places for native currency (typically 18) |
nativeTokenLogoUrl | string | URL to native token logo (nullable) |
isCustomChain | boolean | Whether this is a custom/private chain |
blockscoutApiUrl | string | Blockscout API URL (nullable) |
organizationId | UUID | Organization ID for custom chains |
createdAt | datetime | Network creation timestamp (ISO 8601) |
updatedAt | datetime | Last update timestamp (ISO 8601) |
Example network object:
{
"id": "f8a7b6c5-d4e3-4f2a-1b0c-9d8e7f6a5b4c",
"name": "Ethereum Sepolia Testnet",
"chainId": "11155111",
"status": "active",
"type": "TESTNET",
"explorer": "https://sepolia.etherscan.io",
"symbol": "ETH",
"decimals": 18,
"nativeTokenLogoUrl": "https://assets.cubewire.com/tokens/eth.png",
"isCustomChain": false,
"blockscoutApiUrl": "https://eth-sepolia.blockscout.com/api",
"organizationId": "b4c3d2e1-f0a9-4b8c-7d6e-5f4a3b2c1d0e",
"createdAt": "2025-11-15T14:30:00.000Z",
"updatedAt": "2025-11-15T14:30:00.000Z"
}
The blockchain's native currency (ETH, MATIC, etc.).
Properties:
| Field | Type | Description |
|---|---|---|
type | string | Always "native" |
symbol | string | Currency symbol (optional, auto-detected) |
decimals | number | Decimal places (optional, auto-detected) |
Example:
{
"asset": {
"type": "native",
"symbol": "ETH",
"decimals": 18
}
}
Standard fungible tokens on EVM networks.
Properties:
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | Always "token" |
address | string | Yes | Token contract address |
symbol | string | No | Token symbol (auto-fetched if omitted) |
decimals | number | No | Decimal places (auto-fetched if omitted) |
Example:
{
"asset": {
"type": "token",
"address": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48",
"symbol": "USDC",
"decimals": 6
}
}
Specify the target network using chainId:
{
"type": "TRANSFER",
"sender": {
"vaultId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
},
"recipient": {
"address": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb"
},
"asset": {
"type": "native",
"symbol": "ETH",
"decimals": 18
},
"amount": "1000000000000000000",
"chainId": 1,
"gasLimit": "21000",
"maxFeePerGas": "50000000000",
"maxPriorityFeePerGas": "2000000000"
}
For complete API documentation including endpoints, request/response examples, and code samples:
GET /api/v1/networksPOST /api/v1/networksGET /api/v1/networks/by-chain-id/{chainId}GET /api/v1/networks/registryGET /api/v1/networks/{id}PATCH /api/v1/networks/{id}DELETE /api/v1/networks/{id}