AGG is currently in alpha. APIs, components, and docs may change.
Agg.market — Prediction Market Aggregator logo

Withdraw funds

Withdraws funds to an external address and returns submitted transfer details.

POSThttps://api.agg.market/execution/withdraw

Withdraws funds to an external address and returns submitted transfer details.

Loading code example
Loading code example

Authorizations

appIdstringheaderrequired

API key passed in the header.

Body

amountRawstringrequired

Positive integer string in the token's native decimals.

Pattern: ^[1-9][0-9]*$
tokenSymbol"USDC" | "USDC.e" | "USDT"required

Stable-coin symbol the withdrawal is denominated in.

Allowed values: "USDC" | "USDC.e" | "USDT"
destinationAddressstringrequired

Recipient address. EVM destinations: 0x-prefixed 20-byte hex. Solana: base58 (32–44 chars).

Pattern: ^(0x[a-fA-F0-9]{40}|[1-9A-HJ-NP-Za-km-z]{32,44})$
destinationChainIdintegerrequired

Chain ID where the recipient address should receive funds.

Required range: x >= 1
maxboolean

Cap to the deliverable maximum (withdraw-max intent).

Response

application/json

200

withdrawalIdstringrequired
status"pending" | "bridging" | "transferring" | "completed" | "partial" | "failed"required

DB-backed withdrawal status. Mirrors the WithdrawalStatus Prisma enum.

Allowed values: "pending" | "bridging" | "transferring" | "completed" | "partial" | "failed"
requestedobjectrequired
requested.tokenSymbol"USDC" | "USDC.e" | "USDT"required

Stable-coin symbol the withdrawal is denominated in.

Allowed values: "USDC" | "USDC.e" | "USDT"
requested.amountRawstringrequired
Pattern: ^[1-9][0-9]*$
completedAmountRawstringrequired
destinationobjectrequired
destination.chainIdintegerrequired
Required range: x >= 1
destination.addressstringrequired
Pattern: ^(0x[a-fA-F0-9]{40}|[1-9A-HJ-NP-Za-km-z]{32,44})$
destination.tokenSymbol"USDC" | "USDC.e" | "USDT"required

Stable-coin symbol the withdrawal is denominated in.

Allowed values: "USDC" | "USDC.e" | "USDT"
legsarray<object>required
legs.type"transfer" | "bridge"required

transfer: same-chain managed-wallet → recipient. bridge: cross-chain via Relay.

Allowed values: "transfer" | "bridge"
legs.status"planned" | "submitted" | "confirmed" | "failed"required

PR-A only emits 'planned'; lifecycle pipeline advances downstream.

Allowed values: "planned" | "submitted" | "confirmed" | "failed"
legs.sourceChainIdintegerrequired
legs.destChainIdintegerrequired
legs.amountRawstringrequired
Pattern: ^[1-9][0-9]*$
legs.txHashstringrequired
legs.bridgeOperationIdstringrequired
legs.sourceTokenSymbolstring
legs.errorMessagestring
expectedobjectrequired
expected.outputRawstringrequired
expected.feeRawstringrequired
expected.etaSecondsintegerrequired
pricingStatus"unquoted" | "quoting" | "quoted" | "unviable"required

Withdrawal pricing state. 'quoted' rows have a fresh preflight quote; 'unviable' means at least one source leg is too small for required fees.

Allowed values: "unquoted" | "quoting" | "quoted" | "unviable"
errorMessagestringrequired
sourcesarray<object>required
sources.sourceIdstringrequired
sources.chainIdintegerrequired
sources.tokenSymbol"USDC" | "USDC.e" | "USDT" | "pUSD" | "USD1"required

Stable-coin symbol held by a selected withdrawal source.

Allowed values: "USDC" | "USDC.e" | "USDT" | "pUSD" | "USD1"
sources.tokenAddressstringrequired

Source token address: EVM ERC-20 address or Solana SPL mint.

Pattern: ^(0x[a-fA-F0-9]{40}|[1-9A-HJ-NP-Za-km-z]{32,44})$
sources.decimalsintegerrequired
Required range: x >= 0, x <= 36
sources.amountRawstringrequired
Pattern: ^[1-9][0-9]*$
sources.status"pending" | "submitted" | "confirmed" | "failed"required

Per-source progression. PR-A only emits 'pending'; PR-B/PR-C drive transitions.

Allowed values: "pending" | "submitted" | "confirmed" | "failed"
sources.txHashstringrequired
sources.bridgeOperationIdstringrequired