一键导入
archon-bridge
Unified portfolio + order routing across Zerodha, Upstox, Angel One
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Unified portfolio + order routing across Zerodha, Upstox, Angel One
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Search and download arXiv papers (no API key needed)
Delegate coding and file edits to Anthropic Claude Code CLI
Read/write Windows clipboard text, HTML, images, history (PowerShell)
Running scripts and code on Windows
Delegate coding tasks to OpenAI Codex CLI
Windows Defender: scans, threat history, signatures (PowerShell)
| name | archon-bridge |
| description | Unified portfolio + order routing across Zerodha, Upstox, Angel One |
| category | india |
| version | 1.0.0 |
| tags | archon, broker, portfolio, aggregation, zerodha, upstox, angel, india, trading, unified |
| license | Apache-2.0 |
Unified broker bridge that aggregates portfolio data and normalizes order routing across multiple Indian brokers — Zerodha Kite, Upstox, and Angel One — into a single consistent interface.
# Requires env vars: KITE_API_KEY, KITE_ACCESS_TOKEN, UPSTOX_TOKEN
function Get-KiteHoldings {
$h = @{ "X-Kite-Version"="3"; "Authorization"="token $env:KITE_API_KEY:$env:KITE_ACCESS_TOKEN" }
(Invoke-RestMethod -Uri "https://api.kite.trade/portfolio/holdings" -Headers $h).data |
Select-Object @{N='symbol';E={$_.tradingsymbol}},
@{N='qty';E={$_.quantity}},
@{N='avg';E={$_.average_price}},
@{N='ltp';E={$_.last_price}},
@{N='broker';E={'Zerodha'}}
}
function Get-UpstoxHoldings {
$h = @{ "Authorization"="Bearer $env:UPSTOX_TOKEN"; "Accept"="application/json" }
(Invoke-RestMethod -Uri "https://api.upstox.com/v2/portfolio/long-term-holdings" -Headers $h).data |
Select-Object @{N='symbol';E={$_.tradingsymbol}},
@{N='qty';E={$_.quantity}},
@{N='avg';E={$_.average_price}},
@{N='ltp';E={$_.last_price}},
@{N='broker';E={'Upstox'}}
}
$all = @(Get-KiteHoldings) + @(Get-UpstoxHoldings)
$all | Sort-Object symbol | Format-Table -AutoSize
$all = @(Get-KiteHoldings) + @(Get-UpstoxHoldings)
$total = ($all | ForEach-Object { $_.ltp * $_.qty } | Measure-Object -Sum).Sum
$cost = ($all | ForEach-Object { $_.avg * $_.qty } | Measure-Object -Sum).Sum
$pnl = $total - $cost
Write-Host "Total Value: ₹$([math]::Round($total,2))"
Write-Host "Total Cost: ₹$([math]::Round($cost,2))"
Write-Host "Total P&L: ₹$([math]::Round($pnl,2)) ($([math]::Round($pnl/$cost*100,2))%)"
$all = @(Get-KiteHoldings) + @(Get-UpstoxHoldings)
$all | Group-Object symbol | Where-Object Count -gt 1 |
ForEach-Object {
Write-Host "=== $($_.Name) ==="
$_.Group | Format-Table broker, qty, avg, ltp -AutoSize
}
function New-ArchonOrder {
param(
[string]$Symbol,
[string]$Side, # BUY or SELL
[int]$Qty,
[string]$OrderType, # MARKET or LIMIT
[double]$Price = 0,
[string]$Broker # Zerodha or Upstox
)
if ($Broker -eq "Zerodha") {
return @{
tradingsymbol = $Symbol
exchange = "NSE"
transaction_type = $Side
order_type = $OrderType
quantity = $Qty
price = $Price
product = "CNC"
}
} elseif ($Broker -eq "Upstox") {
return @{
instrument_token = "NSE_EQ|$Symbol"
transaction_type = $Side
order_type = $OrderType
quantity = $Qty
price = $Price
product = "D"
validity = "DAY"
}
}
}
"Show my total equity portfolio across Zerodha and Upstox" → Call both broker APIs, merge holdings, calculate combined value and P&L.
"Do I hold Reliance in more than one broker?" → Aggregate all holdings, group by symbol, find symbols present in multiple broker accounts.
"Create a normalized order for buying 10 shares of HDFC Bank via Upstox"
→ Call New-ArchonOrder -Symbol "HDFCBANK" -Side "BUY" -Qty 10 -OrderType "MARKET" -Broker "Upstox".