Trading 212 钱包、ISA 额度与饼图持仓
Trading 212: Stocks, ETFs, ISA 是 Trading 212 面向欧洲散户的安卓券商应用。用户用邮箱或 SSO 登录后,可在 Invest、Stocks ISA、Cash ISA、SIPP、CFD 与 Crypto 账户间切换,免佣买卖股票与 ETF(含金额单),搭建 AutoInvest 饼图组合,出借股票赚利息,闲置现金按日计息,用带返现与凑整投资的 212 借记卡消费,并通过银行转账、Adyen 卡与 Google Pay 出入金。K 线(含 TradingView)、自选、经济日历、股票出借与应用内客服围着同一张下单票。客户端包名为 com.avuscapital.trading212(版本 8.52.0),牌照主体为 AVUS、AVUS_UK 与 T212_CY,在德国、法国、西班牙及更广的欧洲经济区与 Trade Republic、Scalable Capital、eToro、Revolut Invest 竞争。
Invest 账户现金条上,freeFunds 挨着 blockedFunds 与 pendingDeposit;Stocks ISA 行则用当前 taxYear 下的 isaAllowance 记账。AutoInvest 饼图把每片切成 ticker、quantity、actualWeight 与 targetWeight,并带未实现 ppl;CFD 摘要补上 equity、margin 与 leverage。股票出借给已出借库存打上 annualPercentYield,212 卡则回报 cardStatus 与 cardLastFour。
税务包装机器人、饼图再平衡、CFD 追保台与卡消费监控会消费这些字段。openData Studio 把它们变成可调用的开放数据。
应用截图
API 端点一览
以下端点与请求/响应示例均依据应用界面推导重构,为示意说明,并非实际抓包。
移动端登录
POST
/v1/sessions/mobile-signinopenbanking用 email 加 password(或已存 loginToken)换取 customerSession / accountSession Cookie、客户行(uuid、dealer、lang)以及当前账户(tradingType、currencyCode、readyToTrade)。
认证方式: 无需既有令牌。请求体带 email 与 password(或已存登录令牌 / SSO)。响应 customerSession 与 accountSession 以会话 Cookie 保存;后续调用另带客户端描述头(平台、应用版本、accountId)。
- password
- rememberMe
- customerSession
- accountSession
- loginToken
- backupCode
- serverTimestamp
- customer.id
- customer.uuid
- customer.email
- customer.dealer
- customer.lang
- customer.registerDate
- account.id
- account.type
- account.tradingType
- account.status
- account.currencyCode
- account.readyToTrade
- account.createdDate
- account.lastSwitchedDate
- account.registerSource
POST /v1/sessions/mobile-signin HTTP/1.1 Content-Type: application/json X-Client-Info: platform=android,appVersion=8.52 { "email": "[email protected]", "password": "••••••••", "rememberMe": true }{ "customerSession": "sess-c-7f21a9", "accountSession": "sess-a-3c90e1", "loginToken": "lt-9b12d4", "backupCode": null, "serverTimestamp": "2026-10-21T08:14:02.511Z", "customer": { "id": 18492011, "uuid": "6e3c1a52-71b4-4e08-8d2a-5c0e1f7b3a64", "email": "[email protected]", "dealer": "AVUS_UK", "lang": "en", "registerDate": "2019-03-12T10:22:00.000Z" }, "account": { "id": 55210188, "type": "EQ", "tradingType": "INVEST", "status": "ACTIVE", "currencyCode": "EUR", "readyToTrade": true, "createdDate": "2019-03-12T10:22:11.000Z", "lastSwitchedDate": "2026-10-21T08:14:02.000Z", "registerSource": "MOBILE" } }切换交易账户
POST
/v1/sessions/active-accountopenbanking把当前会话切到客户名下的另一账户(Invest、Stocks ISA、Cash ISA、SIPP、CFD 或 Crypto),返回新的 accountSession 以及 readyToTrade / currencyCode。
认证方式: 使用登录调用得到的会话 Cookie 与客户端描述头。
- accountId
- tradingType
- accountSession
- account.id
- account.type
- account.status
- account.currencyCode
- account.readyToTrade
- account.lastSwitchedDate
POST /v1/sessions/active-account HTTP/1.1 Cookie: session=sess-a-3c90e1 X-Client-Info: platform=android,appVersion=8.52,accountId=55210188 Content-Type: application/json { "accountId": 55218801, "tradingType": "ISA" }{ "accountSession": "sess-a-8e22c0", "account": { "id": 55218801, "type": "EQ", "tradingType": "ISA", "status": "ACTIVE", "currencyCode": "GBP", "readyToTrade": true, "lastSwitchedDate": "2026-10-21T08:15:44.000Z" } }Invest 账户钱包
GET
/v1/accounts/invest/cashopenbanking读取 Invest 账户按币种拆分的现金钱包:可交易 freeFunds、为未成交单预留的 blockedFunds、在途 pendingDeposit 与现金合计。
认证方式: 使用登录调用得到的会话 Cookie 与客户端描述头。
- wallets
- currencyCode
- freeFunds
- blockedFunds
- pendingDeposit
- cash
GET /v1/accounts/invest/cash HTTP/1.1 Cookie: session=sess-a-3c90e1 X-Client-Info: platform=android,appVersion=8.52,accountId=55210188{ "wallets": [ { "currencyCode": "EUR", "freeFunds": 4210.55, "blockedFunds": 180.00, "pendingDeposit": 0.00, "cash": 4390.55 }, { "currencyCode": "USD", "freeFunds": 850.10, "blockedFunds": 0.00, "pendingDeposit": 200.00, "cash": 1050.10 } ] }Cash ISA 摘要
GET
/v1/wrappers/cash-isa/overviewopenfinance读取 Cash ISA 首页:包装内现金、本税年 isaAllowance、剩余 allowanceLeft、taxYear 与公布的 AER。
认证方式: 使用登录调用得到的会话 Cookie 与客户端描述头。账户须已切换到 Cash ISA 账户类型。
- cashIsaSummary
- currencyCode
- cash
- isaAllowance
- allowanceLeft
- taxYear
- aer
GET /v1/wrappers/cash-isa/overview HTTP/1.1 Cookie: session=sess-a-8e22c0 X-Client-Info: platform=android,appVersion=8.52,accountId=55218801{ "cashIsaSummary": { "currencyCode": "GBP", "cash": 12500.00, "isaAllowance": 20000.00, "allowanceLeft": 7500.00, "taxYear": "2026/27", "aer": 0.038 } }SIPP 缴存
GET
/v1/wrappers/sipp/contributionsopenfinance读取本税年 SIPP 缴存:thisYear 已缴、taxRelief 税收减免,以及包装上仍开放的 remainingDepositLimit。
认证方式: 使用登录调用得到的会话 Cookie 与客户端描述头。账户须为 SIPP。
- sippAccountId
- sippContribution
- thisYear
- taxRelief
- remainingDepositLimit
- taxYear
- currencyCode
GET /v1/wrappers/sipp/contributions HTTP/1.1 Cookie: session=sess-a-91bb04 X-Client-Info: platform=android,appVersion=8.52,accountId=55219002{ "sippAccountId": 55219002, "sippContribution": { "thisYear": 4800.00, "taxRelief": 1200.00, "remainingDepositLimit": 31200.00, "taxYear": "2026/27", "currencyCode": "GBP" } }加密账户摘要
GET
/v1/accounts/crypto/overviewopenfinance读取 Crypto 账户首页:账户币种下的 summaryValue、按资产拆分的 wallets(ticker、quantity、value)以及 lockedQuantities。
认证方式: 使用登录调用得到的会话 Cookie 与客户端描述头。账户类型为 Crypto。
- currencyCode
- summaryValue
- wallets
- ticker
- quantity
- value
- lockedQuantities
GET /v1/accounts/crypto/overview HTTP/1.1 Cookie: session=sess-a-c4aa11 X-Client-Info: platform=android,appVersion=8.52,accountId=55220110{ "currencyCode": "EUR", "summaryValue": 3120.40, "wallets": [ { "ticker": "BTCcrypto", "quantity": 0.0215, "value": 1980.10 }, { "ticker": "ETH", "quantity": 0.40, "value": 1140.30 } ], "lockedQuantities": [] }CFD 账户摘要
GET
/v1/accounts/cfd/overviewopenfinance读取 CFD 账户条:equity、freeFunds 与 blockedFunds、未实现 ppl、占用保证金 margin 以及账户杠杆 leverage。
认证方式: 使用登录调用得到的会话 Cookie 与客户端描述头。账户类型为 CFD。
- currencyCode
- equity
- freeFunds
- blockedFunds
- ppl
- margin
- leverage
- readyToTrade
GET /v1/accounts/cfd/overview HTTP/1.1 Cookie: session=sess-a-d7ee20 X-Client-Info: platform=android,appVersion=8.52,accountId=55221044{ "currencyCode": "EUR", "equity": 15420.88, "freeFunds": 9800.12, "blockedFunds": 2100.00, "ppl": 312.40, "margin": 3520.76, "leverage": 5, "readyToTrade": true }AutoInvest 饼图持仓
GET
/v1/portfolios/pies/holdingsopenfinance列出 AutoInvest 饼图切片:pieId 以及每只标的的 ticker / isin、quantity 在 averagePrice 与 currentPrice 下的对比、未实现 ppl,以及 actualWeight 相对 targetWeight。
认证方式: 使用登录调用得到的会话 Cookie 与客户端描述头。
- holdings
- pieId
- ticker
- isin
- quantity
- averagePrice
- currentPrice
- ppl
- actualWeight
- targetWeight
GET /v1/portfolios/pies/holdings HTTP/1.1 Cookie: session=sess-a-3c90e1 X-Client-Info: platform=android,appVersion=8.52,accountId=55210188{ "holdings": [ { "pieId": "pie-8f21c4", "ticker": "VUSAd_EQ", "isin": "IE00B3XXRP09", "quantity": 42.15, "averagePrice": 88.40, "currentPrice": 91.22, "ppl": 118.86, "actualWeight": 0.41, "targetWeight": 0.40 }, { "pieId": "pie-8f21c4", "ticker": "AAPLd_EQ", "isin": "US0378331005", "quantity": 6.00, "averagePrice": 172.10, "currentPrice": 189.55, "ppl": 104.70, "actualWeight": 0.22, "targetWeight": 0.20 } ] }股票金额单预览
POST
/v1/orders/value/previewopenfinance提交前预览免佣股票金额单:把 value 按 currentPrice 换成预估 quantity,并列出 cost、fxFee 与 commission。
认证方式: 使用登录调用得到的会话 Cookie 与客户端描述头。
- ticker
- instrumentCode
- isin
- side
- value
- quantity
- currentPrice
- cost
- fxFee
- commission
- orderType
POST /v1/orders/value/preview HTTP/1.1 Cookie: session=sess-a-3c90e1 X-Client-Info: platform=android,appVersion=8.52,accountId=55210188 Content-Type: application/json { "ticker": "AAPLd_EQ", "side": "BUY", "value": 500.00, "currencyCode": "EUR" }{ "ticker": "AAPLd_EQ", "instrumentCode": "AAPLd_EQ", "isin": "US0378331005", "side": "BUY", "value": 500.00, "quantity": 2.637, "currentPrice": 189.55, "cost": 500.00, "fxFee": 0.75, "commission": 0.00, "orderType": "VALUE" }未平仓头寸
GET
/v1/positions/{positionId}openfinance读取一笔未平仓 CFD(或 Invest)头寸:ticker、side、quantity 在 averagePrice 与 currentPrice 下的对比、未实现 ppl、margin 与 leverage。
认证方式: 使用登录调用得到的会话 Cookie 与客户端描述头。
- positionId
- ticker
- side
- quantity
- averagePrice
- currentPrice
- ppl
- margin
- leverage
- currencyCode
GET /v1/positions/pos-441902 HTTP/1.1 Cookie: session=sess-a-d7ee20 X-Client-Info: platform=android,appVersion=8.52,accountId=55221044{ "positionId": "pos-441902", "ticker": "EURUSD", "side": "BUY", "quantity": 10000, "averagePrice": 1.08410, "currentPrice": 1.08740, "ppl": 33.00, "margin": 216.82, "leverage": 30, "currencyCode": "EUR" }现金利息状态
GET
/v1/cash/interest-statusopenfinance读取现金利息是否 ENABLED、各币种 interestRate / apy、计息的 uninvestedCash,以及当日 dailyInterest。
认证方式: 使用登录调用得到的会话 Cookie 与客户端描述头。
- status
- currencyCode
- interestRate
- apy
- uninvestedCash
- dailyInterest
- eligibility
GET /v1/cash/interest-status HTTP/1.1 Cookie: session=sess-a-3c90e1 X-Client-Info: platform=android,appVersion=8.52,accountId=55210188{ "status": "ENABLED", "currencyCode": "EUR", "interestRate": 0.0205, "apy": 0.0207, "uninvestedCash": 4210.55, "dailyInterest": 0.24, "eligibility": true }股票出借账户状态
GET
/v1/lending/statusopenfinance读取股票出借报名状态:ENABLED/OFF、账户级 annualPercentYield、已出借库存 lentValue 与 estimatedMonthlyIncome,以及仍在出借的各 ticker quantity。
认证方式: 使用登录调用得到的会话 Cookie 与客户端描述头。
- status
- annualPercentYield
- lentValue
- estimatedMonthlyIncome
- instruments
- ticker
- quantity
GET /v1/lending/status HTTP/1.1 Cookie: session=sess-a-3c90e1 X-Client-Info: platform=android,appVersion=8.52,accountId=55210188{ "status": "ENABLED", "annualPercentYield": 0.012, "lentValue": 8420.00, "estimatedMonthlyIncome": 8.40, "instruments": [ { "ticker": "AAPLd_EQ", "quantity": 6.00, "annualPercentYield": 0.018 } ] }可提现总现金
GET
/v1/funds/withdrawableopenbanking读取可发起提现的现金:账户 totalCash 相对已解冻的 freeFunds。
认证方式: 使用登录调用得到的会话 Cookie 与客户端描述头。
- currencyCode
- totalCash
- freeFunds
- blockedFunds
GET /v1/funds/withdrawable HTTP/1.1 Cookie: session=sess-a-3c90e1 X-Client-Info: platform=android,appVersion=8.52,accountId=55210188{ "currencyCode": "EUR", "totalCash": 4390.55, "freeFunds": 4210.55, "blockedFunds": 180.00 }入金银行账户
GET
/v1/funds/deposit-accountsopenbanking列出客户已保存的入金银行账户(iban、swiftCode、paymentProviderId)以及滑条 depositLimit(min / max / defaultValue / recurringMin)。
认证方式: 使用登录调用得到的会话 Cookie 与客户端描述头。
- bankAccounts
- id
- iban
- swiftCode
- paymentProviderId
- currencyCode
- depositLimit
- min
- max
- defaultValue
- maxSlider
- recurringMin
GET /v1/funds/deposit-accounts HTTP/1.1 Cookie: session=sess-a-3c90e1 X-Client-Info: platform=android,appVersion=8.52,accountId=55210188{ "bankAccounts": [ { "id": 901122, "iban": "BG80BNBG96611020345678", "swiftCode": "BNBGDBGXXXX", "paymentProviderId": 14, "currencyCode": "EUR" } ], "depositLimit": { "min": 10.0, "max": 50000.0, "defaultValue": 100.0, "maxSlider": 10000.0, "recurringMin": 50.0 } }212 卡状态
GET
/v1/cards/{cardId}/stateopenbanking读取一张 212 借记卡:cardStatus(ACTIVE / Frozen / Terminated)以及推入 Google Wallet 时使用的 cardLastFour。
认证方式: 使用登录调用得到的会话 Cookie 与客户端描述头。
- cardId
- cardStatus
- cardLastFour
- displayName
GET /v1/cards/crd-220198/state HTTP/1.1 Cookie: session=sess-a-3c90e1 X-Client-Info: platform=android,appVersion=8.52,accountId=55210188{ "cardId": "crd-220198", "cardStatus": "ACTIVE", "cardLastFour": "4412", "displayName": "212 Card" }
数据类别
- 会话 Cookie
- 多账户切换
- Invest 钱包
- ISA 额度
- SIPP 缴存
- 加密钱包
- CFD 保证金
- 饼图持仓
- 股票委托
- 未平仓头寸
- 现金利息
- 股票出借
- 提现
- 入金 IBAN
- 借记卡
数据使用场景与案例
ISA 余量对 Invest freeFunds
税务包装机器人读取 Cash ISA 摘要上的 isaAllowance 与 allowanceLeft,再对照 Invest 的 freeFunds,避免转入 Stocks ISA 时超过当前 taxYear 上限。
饼图 actualWeight 对 targetWeight
再平衡作业分页 AutoInvest 持仓,标出 actualWeight 偏离 targetWeight 的切片,并用 quantity、averagePrice、currentPrice 计算买卖单规模。
CFD 保证金对权益
风控台盯 CFD 的 equity、margin、leverage 与未实现 ppl,对照 freeFunds,在 blockedFunds 吃掉账户前发出追保。
股票出借收益率对已出借库存
收益监控把出借状态里的 annualPercentYield、lentValue 与仍在出借的各 ticker quantity 对齐,再扣掉现金利息条上的 dailyInterest。
常见问题
Trading 212 如何鉴权会话?
POST /v1/sessions/mobile-signin 返回 customerSession 与 accountSession,客户端以会话 Cookie 保存。后续每次调用还带一个客户端描述头(平台、应用版本、accountId)。在 Invest、ISA、SIPP、CFD 与 Crypto 之间切换时,POST /v1/sessions/active-account 会签发新的 accountSession。
哪些字段区分 Invest 现金与 ISA 包装?
GET /v1/accounts/invest/cash 按币种返回 freeFunds、blockedFunds、pendingDeposit 与 cash。GET /v1/wrappers/cash-isa/overview 是包装视图:cashIsaSummary 上的 isaAllowance、allowanceLeft 与 taxYear。SIPP 资金是第三桶,在 GET /v1/wrappers/sipp/contributions(thisYear、taxRelief、remainingDepositLimit)。
AutoInvest 饼图如何按市价重估?
GET /v1/portfolios/pies/holdings 列出每片的 ticker、isin、quantity、averagePrice、currentPrice、未实现 ppl、actualWeight 与 targetWeight。再平衡作业按权重缺口下单;股票金额单先在 POST /v1/orders/value/preview 预览(value、预估 quantity、fxFee、commission)。
现金条旁边还有哪些 CFD 与出借字段?
GET /v1/accounts/cfd/overview 返回 equity、margin、leverage 与 ppl。单笔头寸在 GET /v1/positions/{positionId} 读取 averagePrice 对 currentPrice。出借状态 GET /v1/lending/status 给出 annualPercentYield 与 lentValue;现金利息 GET /v1/cash/interest-status 给出 uninvestedCash 上的 apy 与 dailyInterest。
与 Trading 212: Stocks, ETFs, ISA 相似的应用
- Trade Republic: Broker & Bank — Trade Republic 是柏林的在线券商兼银行,手机应用提供股票与 ETF 经纪,并在 2023 年获得欧洲央行银行牌照后推出储蓄与活期账户产品。
- Scalable Capital — Scalable Capital 是慕尼黑的数字投资平台兼银行,业务包括自主经纪、财富管理、定投与存款,覆盖德国、奥地利、法国、意大利、西班牙与荷兰。
- eToro — eToro 是以色列多资产券商,电子交易平台与 CopyTrader 跟单系统覆盖股票、差价合约、大宗商品、外汇与加密资产,面向数十个国家的散户。
- Revolut — Revolut 是伦敦数字银行,2019 年起在应用内为欧洲用户提供股票交易,2024 年获得英国交易牌照后把投资服务扩展到英国与欧盟上市股票和 ETF。
- DEGIRO — DEGIRO 是荷兰在线券商品牌,现为 Flatexdegiro Bank 荷兰分行,2013 年在荷兰向散户开放证券交易,随后扩展到欧洲其他市场。
- Freetrade — Freetrade 是英国移动端交易平台,2025 年被 IG Group 收购,散户可通过 iOS 与 Android 应用买卖股票和 ETF。
- Interactive Brokers — Interactive Brokers 是总部位于康涅狄格州格林尼治的券商,在全球电子市场提供股票、期权、期货、外汇、债券与基金的自动执行与托管。
- Plus500 — Plus500 是总部位于海法的多资产金融科技公司,通过网页与手机应用提供差价合约、股票交易、期货、预测市场与期货期权。
相关主题
- Trading 212 API
- freeFunds
- isaAllowance
- AutoInvest 饼图持仓
- CFD 保证金
- 股票出借
- 212 卡
- Trading 212 ISA 数据
需要集成这个 App 的数据 API?
我们可为任意指定 App 交付定制集成——源码交付 USD 500 起,或托管 API 按调用计费。告诉我们您需要的数据即可。
- 每个项目均签 NDA 与 SOW
- 3–7 天交付
- 验收通过后才付款
- 仅在授权范围内作业