Fetch one conversion by id
The conversion in its CURRENT state, whatever that is — including a terminal failure, reported here as the object rather than as an error. This is the fetch half of the thin webhook payloads (a *.settled / *.failed event carries only a resource pointer) and the poll surface the money errors point at.
The conversion in its CURRENT state, whatever that is — including a terminal failure, reported here as the object rather than as an error. This is the fetch half of the thin webhook payloads (a *.settled / *.failed event carries only a resource pointer) and the poll surface the money errors point at.
Authorization
bearer In: header
Path Parameters
The conversionId returned when you created it, or carried by the event's resource pointer.
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/api/partner/v1/conversions/6a4d0f38-7c15-42be-9038-4b7e1c6a2d59"{ "data": { "commission": { "amount": "2.5", "currency": "USD" }, "conversionId": "6a4d0f38-7c15-42be-9038-4b7e1c6a2d59", "createdAt": "2026-09-02T10:15:28.000Z", "disclosure": { "items": [ "ENVIRONMENT_IS_TESTNET: The environment is a testnet (Arbitrum Sepolia). No mainnet deployment exists.", "YIELD_IS_SIMULATED: The vault rate is set administratively and the interest it produces is minted as fresh underlying, not earned. It does not represent a return generated by deployed capital.", "FIAT_RAILS_ARE_MOCKED: No real fiat movement occurs. Balances are ledger entries against a sandbox provider.", "CONVERSION_RATES_ARE_MARKET_QUOTED_OR_REFUSED: A conversion is priced only by an external venue that quotes independently of TCB. When no such venue can price the pair, the conversion is refused rather than priced from an internal table. Read rate.pricingModel on every conversion: MARKET is a venue quote; any other value is not a market rate and must not be presented as one.", "CONTRACTS_ARE_UNAUDITED: No audit has been performed. Mainnet is gated on a two-firm audit that has not been commissioned.", "CUSTODY_IS_TCB_SUBACCOUNT: Everything held for the client — its vault shares, and the tcbUSD it holds between the steps of the tokenised deposit chain — is held in TCB custody, in the one TCB wallet assigned to the client. The client holds no keys and moves those tokens only through this API; each sub-account's shares and tcbUSD are book entries against what that wallet holds.", "INTEGRATION_AGREEMENT_ONLY: Fees as published on the rate card; no yield share, no return commitment." ], "summary": "This is a pilot integration on a testnet. Nothing in this system earns anything: the yield is simulated and the fiat rails are mocked.", "version": "2026-10-27" }, "from": { "currency": "USDC", "filledAmount": "1000", "requestedAmount": "1000", "unfilledAmount": "0" }, "idempotencyKey": "acme-conversion-2026-08-31-0001", "networkFee": null, "rate": { "executed": "0.9998", "note": "This rate came from a venue that prices independently of TCB.", "pricingModel": "MARKET", "quoted": "0.9999", "quotedExpiresAt": "2026-09-02T10:15:58.000Z" }, "replayed": false, "settledAt": "2026-09-02T10:15:33.000Z", "status": "SETTLED", "to": { "amount": "999.80", "currency": "USD" }, "toAccountId": "9c3e5a1f-2b7d-4e60-8a94-6f1d0c2b7e35", "tradeOrderId": "e5c17a03-9d42-4b68-8f31-0a7c2e6b4d95", "transferId": "2f8b6d14-7a3c-4e91-b5d0-8c1e4f7a9b26" }, "success": true, "timestamp": "2026-09-02T10:15:30.000Z"}Quote a conversion before making it POST
Prices the conversion you are about to make, without making it: the rate a market venue quotes for it, the commission it will be charged at that rate, and what it would credit. Nothing is converted and no idempotency key is needed. The request is checked exactly as the conversion would be (both accounts, your money cap, the trading risk check), so a refusal here is the refusal the conversion would get. The quote holds until expiresAt: the venue's own quote window, and never more than 60 seconds. Name its quoteId on POST /conversions to execute at this quote: the conversion must repeat the quoted request and can use the quote once, and it is never re-quoted. Quoting first is optional and recommended: it is how you see the rate and the commission before you commit. A quote reserves nothing: your balance and the risk check are checked again when you convert. Like every conversion rate, the quoted one comes only from a venue that prices independently of TCB (rate.pricingModel MARKET).
Your position in a vault, decomposed by sub-account, with what it has earned GET
The ledger fold: what each sub-account holds, what is reserved against withdrawals in flight, and what is available. The totals are the SUM of the sub-accounts, alongside the share balance of the omnibus wallet TCB holds for you. Share amounts are decimal strings at the vault's own share scale. Each row carries what it has earned — lifetime, unrealised, realised and, when you name a period, over that period — valued at the vault's latest observed share price, which is returned with its block and time. rate is the annual rate the vault pays now, net of fees, read on-chain, with when it took effect and the next scheduled change. A figure that cannot be observed is null with the reason in notObserved; it is never zero.