Skip to main content

What is Unified Orchestration Accounts?

Unified Orchestration Accounts (UOA) is an orchestration layer built on top of Magic’s Server Wallets. It provides a single API to manage user accounts across multiple blockchains and perpetual DEX venues, plan and execute multi-step fund transfers, and bridge assets cross-chain. UOA handles the complexity of routing funds between wallets and trading venues so you can focus on building your application.

Key Benefits

Multi-Chain Wallets

Automatically provision and manage wallets across Ethereum, Arbitrum, Polygon, Starknet, Solana, and Ink from a single account.

Perp DEX Integration

Initialize and manage accounts on Extended, Hyperliquid, Paradex, Nado, and Polymarket with unified deposit, withdrawal, and balance APIs.

Transfer Orchestration

Plan and execute multi-step transfers between wallets and DEX venues with automatic route planning, cost estimation, and fallback strategies.

Cross-Chain Bridging

Bridge assets across chains via LiFi integration with quote, execute, and status tracking built in.

Supported Chains and Tokens

Chains

ChainCodeType
EthereumETHEVM
ArbitrumARBEVM
PolygonPOLEVM
StarknetSTRKNon-EVM
InkINKEVM
SolanaSOLNon-EVM

Tokens

TokenCodeDescription
ETHETHNative Ether
WETHWETHWrapped Ether
USDCUSDCUSD Coin
USDC.eUSDC.EBridged USDC
POLPOLNative Polygon token
SOLSOLNative Solana token

Supported DEX Venues

VenueCodeChainNotes
ExtendedextendedArbitrumMagic-backed onboarding
HyperliquidhyperliquidArbitrumStrict deposit floor + fixed withdrawal fee
ParadexparadexArbitrumRhino-based bridge transfers
NadonadoInkWallet-signed operations, no separate onboarding
PolymarketpolymarketPolygonPrediction market with Gnosis Safe proxy + gasless relayer

Architecture

UOA sits between your application and the blockchain, providing three layers of functionality:
  1. Account layer — Creates and manages user accounts with wallets across all supported chains. Each user gets one wallet per chain, derived deterministically.
  2. DEX layer — Initializes and manages perp DEX venue accounts. Handles the venue-specific onboarding flows, credential management, and balance queries.
  3. Transfer layer — Plans and executes multi-step transfer routes. A single transfer request (e.g., move USDC from Hyperliquid to Polymarket) is broken down into steps like dex_withdraw -> bridge_swap -> dex_deposit, executed asynchronously with checkpoint-based resume on failure.

Authentication

All UOA endpoints require two authentication headers:
Authorization
string
required
Bearer token (JWT) issued by your application for end-user authentication. Format: Bearer YOUR_JWT_TOKEN
X-MAGIC-SECRET-KEY
string
required
Your Magic secret key for application-level authentication.
The authentication flow works as follows:
1

User authenticates with your app

Your application authenticates the user (e.g., via Magic Link, OAuth, or any identity provider) and issues a JWT.
2

Configure your identity provider

Register your JWT issuer, audience, and JWKS URL with UOA so it can validate your tokens.
3

Send authenticated requests

Include both the user’s JWT (Authorization: Bearer ...) and your Magic secret key (X-MAGIC-SECRET-KEY) on every request.
4

UOA resolves the user

UOA validates the JWT, resolves the user by the sub claim scoped to your application, and processes the request.

Transfer Execution Model

Transfers are modeled as asynchronous, resumable tasks. When you create a transfer, UOA:
  1. Plans the route — Determines the steps needed (withdraw, bridge, deposit) with fallback routes
  2. Creates a task — Returns a task_id immediately so you can track progress
  3. Executes asynchronously — Runs each step in sequence, persisting progress at each checkpoint
  4. Supports resume — If a step fails, you can resume the task from the last successful checkpoint

Transfer Step Types

StepDescription
withdrawalWithdraw funds from a perp venue to the user’s wallet
bridgeCross-chain bridge transfer (powered by LiFi)
depositDeposit funds into a perp venue

Task Statuses

StatusDescription
PENDINGTask created, awaiting execution
IN_PROGRESSCurrently executing transfer steps
COMPLETEDAll steps finished successfully
FAILEDA step failed (can be resumed)
CANCELLEDTask was cancelled (can be resumed)

Next Steps

Getting Started

Set up your first UOA integration with step-by-step instructions.

API Reference

Explore the complete API surface for accounts, transfers, wallets, and more.