Skip to main content

Core Concepts

Resource Hierarchy

Paratro organizes resources in a clear hierarchy:
Client
  └── Wallet (MPC key container)
        └── Account (blockchain address)
              └── Asset (token on a chain)
                    └── Transaction (transfer record)

Client

A client represents your organization in Paratro. Each client has:
  • A unique client_id
  • API credentials (API Key + API Secret)
  • Configurable limits (max wallets, etc.)
  • Webhook configuration for transaction notifications
Two environments are available:
EnvironmentBase URLUse Case
Productionhttps://api.paratro.com/api/v1Live operations
Sandboxhttps://api-sandbox.paratro.com/api/v1Development & testing

Wallets

A wallet is the top-level container for MPC key material. It holds the distributed key shares used to sign transactions across all accounts within it.
{
  "wallet_id": "w_01HXYZ...",
  "wallet_name": "My Wallet",
  "status": "ACTIVE",
  "key_status": "ACTIVE"
}

Wallet States

StatusDescription
PROGRESSINGWallet has been created and is waiting for key generation to complete
ACTIVEWallet is operational

Key States

Key StatusDescription
GENERATINGMPC key shares are being generated
ACTIVEKey shares are generated and the wallet can sign transactions

Accounts

An account is a blockchain address created under a wallet. You choose the target chain when creating it, and the gateway derives the response network value from its chain registry. Supported chains: loaded dynamically from the gateway chain registry. Common examples include ethereum, base, tron, bitcoin, and solana. Networks: derived by the gateway from the selected chain.
{
  "account_id": "acc_01HXYZ...",
  "wallet_id": "w_01HXYZ...",
  "address": "0x1a2b3c4d5e6f...",
  "network": "mainnet",
  "status": "ACTIVE"
}
EVM-compatible chains (Ethereum, BSC, Polygon, Avalanche, Arbitrum, Optimism) share the same key derivation and produce the same address. The system handles this internally.

Assets

An asset represents a token (native or contract-based) added to an account. Asset configuration — contract address, decimals, type — is resolved automatically by the system.
{
  "asset_id": "ast_01HXYZ...",
  "symbol": "USDT",
  "asset_type": "ERC20",
  "contract_address": "0xdac17f958d2ee523a2206206994597c13d831ec7",
  "decimals": 6,
  "balance": "1500.00",
  "locked_balance": "0"
}
Supported symbols: ETH, TRX, USDT, USDC, BNB, MATIC, BTC, SOL

Asset Types

TypeDescription
NATIVENative chain token (ETH, BNB, TRX, etc.)
ERC20ERC-20 token on EVM chains
BEP20BEP-20 token on BSC
TRC20TRC-20 token on TRON

Transactions

A transaction represents an asset transfer initiated from a Paratro account.

Transaction Lifecycle

PENDING → CONFIRMED

  FAILED
StatusDescription
PENDINGTransfer submitted, awaiting on-chain confirmation
CONFIRMEDTransaction confirmed on-chain
FAILEDTransaction execution failed

Transfer Resolution

When creating a transfer, you specify from_address, to_address, chain, and token_symbol. The system automatically:
  1. Locates the source asset by matching address + chain + token
  2. Validates the destination address format for the specified chain
  3. Locks the transfer amount
  4. Initiates MPC signing and broadcasts the transaction