XML 71 R136.htm IDEA: XBRL DOCUMENT v2.4.1.9
GUARANTEES AND COMMITMENTS - Gurantees (Details) (USD $)
3 Months Ended 12 Months Ended
Mar. 31, 2015
trust
Dec. 31, 2014
trust
Maximum potential amount of future payments    
Expire Within One Year $ 269,600,000,000c_GuaranteeObligationsMaximumExposureExpireWithinOneYear $ 258,500,000,000c_GuaranteeObligationsMaximumExposureExpireWithinOneYear
Expire After One Year 201,500,000,000c_GuaranteeObligationsMaximumExposureExpireAfterOneYear 206,100,000,000c_GuaranteeObligationsMaximumExposureExpireAfterOneYear
Total amount outstanding 471,100,000,000us-gaap_GuaranteeObligationsMaximumExposure 464,600,000,000us-gaap_GuaranteeObligationsMaximumExposure
Carrying value 2,771,000,000us-gaap_GuaranteeObligationsCurrentCarryingValue 3,146,000,000us-gaap_GuaranteeObligationsCurrentCarryingValue
Compensation for standard representations and warranties 0c_CompensationReceivedForStandardRepresentationsAndWarranties  
Stated or notional amounts included in the indemnification clauses 0c_StatedOrNotionalAmountsIncludedInIndemnificationClauses  
Liability related to VTNs 0c_ValueTransferNetworksLiability 0c_ValueTransferNetworksLiability
Number of trusts funded by the reinsurer 2c_NumberOfTrustFundedByReinsurer 2c_NumberOfTrustFundedByReinsurer
Fair value of securities in trusts funded by reinsurer relating to indemnification 6,700,000,000c_FairValueOfTrustsFundedByInsurer 6,200,000,000c_FairValueOfTrustsFundedByInsurer
Liability related to long-term care insurance indemnification 0c_LongTermCareInsuranceIndemnificationLiability 0c_LongTermCareInsuranceIndemnificationLiability
Cash collateral available to reimburse losses realized under guarantees and indemnifications 63,000,000,000c_CashHeldAsCollateral 63,000,000,000c_CashHeldAsCollateral
Securities and other marketable assets held as collateral, the majority of which collateral is held to reimburse losses realized under securities lending indemnifications 91,000,000,000us-gaap_SecuritiesReceivedAsCollateral 70,000,000,000us-gaap_SecuritiesReceivedAsCollateral
Letters of credit in favor of the Company held as collateral 4,200,000,000c_LettersOfCreditReceivedAsCollateral 4,000,000,000c_LettersOfCreditReceivedAsCollateral
Investment Grade    
Maximum potential amount of future payments    
Total amount outstanding 131,300,000,000us-gaap_GuaranteeObligationsMaximumExposure
/ us-gaap_ExternalCreditRatingByGroupingAxis
= us-gaap_ExternalCreditRatingInvestmentGradeMember
129,100,000,000us-gaap_GuaranteeObligationsMaximumExposure
/ us-gaap_ExternalCreditRatingByGroupingAxis
= us-gaap_ExternalCreditRatingInvestmentGradeMember
Non-Investment Grade    
Maximum potential amount of future payments    
Total amount outstanding 17,700,000,000us-gaap_GuaranteeObligationsMaximumExposure
/ us-gaap_ExternalCreditRatingByGroupingAxis
= us-gaap_ExternalCreditRatingNonInvestmentGradeMember
19,900,000,000us-gaap_GuaranteeObligationsMaximumExposure
/ us-gaap_ExternalCreditRatingByGroupingAxis
= us-gaap_ExternalCreditRatingNonInvestmentGradeMember
Not rated    
Maximum potential amount of future payments    
Total amount outstanding 322,100,000,000us-gaap_GuaranteeObligationsMaximumExposure
/ us-gaap_ExternalCreditRatingByGroupingAxis
= c_ExternalCreditRatingNotRatedMember
315,600,000,000us-gaap_GuaranteeObligationsMaximumExposure
/ us-gaap_ExternalCreditRatingByGroupingAxis
= c_ExternalCreditRatingNotRatedMember
Financial standby letters of credit    
Maximum potential amount of future payments    
Expire Within One Year 25,400,000,000c_GuaranteeObligationsMaximumExposureExpireWithinOneYear
/ us-gaap_GuaranteeObligationsByNatureAxis
= us-gaap_FinancialStandbyLetterOfCreditMember
25,400,000,000c_GuaranteeObligationsMaximumExposureExpireWithinOneYear
/ us-gaap_GuaranteeObligationsByNatureAxis
= us-gaap_FinancialStandbyLetterOfCreditMember
Expire After One Year 71,600,000,000c_GuaranteeObligationsMaximumExposureExpireAfterOneYear
/ us-gaap_GuaranteeObligationsByNatureAxis
= us-gaap_FinancialStandbyLetterOfCreditMember
73,000,000,000c_GuaranteeObligationsMaximumExposureExpireAfterOneYear
/ us-gaap_GuaranteeObligationsByNatureAxis
= us-gaap_FinancialStandbyLetterOfCreditMember
Total amount outstanding 97,000,000,000us-gaap_GuaranteeObligationsMaximumExposure
/ us-gaap_GuaranteeObligationsByNatureAxis
= us-gaap_FinancialStandbyLetterOfCreditMember
98,400,000,000us-gaap_GuaranteeObligationsMaximumExposure
/ us-gaap_GuaranteeObligationsByNatureAxis
= us-gaap_FinancialStandbyLetterOfCreditMember
Carrying value 239,000,000us-gaap_GuaranteeObligationsCurrentCarryingValue
/ us-gaap_GuaranteeObligationsByNatureAxis
= us-gaap_FinancialStandbyLetterOfCreditMember
242,000,000us-gaap_GuaranteeObligationsCurrentCarryingValue
/ us-gaap_GuaranteeObligationsByNatureAxis
= us-gaap_FinancialStandbyLetterOfCreditMember
Financial standby letters of credit | Investment Grade    
Maximum potential amount of future payments    
Total amount outstanding 72,500,000,000us-gaap_GuaranteeObligationsMaximumExposure
/ us-gaap_ExternalCreditRatingByGroupingAxis
= us-gaap_ExternalCreditRatingInvestmentGradeMember
/ us-gaap_GuaranteeObligationsByNatureAxis
= us-gaap_FinancialStandbyLetterOfCreditMember
73,000,000,000us-gaap_GuaranteeObligationsMaximumExposure
/ us-gaap_ExternalCreditRatingByGroupingAxis
= us-gaap_ExternalCreditRatingInvestmentGradeMember
/ us-gaap_GuaranteeObligationsByNatureAxis
= us-gaap_FinancialStandbyLetterOfCreditMember
Financial standby letters of credit | Non-Investment Grade    
Maximum potential amount of future payments    
Total amount outstanding 13,600,000,000us-gaap_GuaranteeObligationsMaximumExposure
/ us-gaap_ExternalCreditRatingByGroupingAxis
= us-gaap_ExternalCreditRatingNonInvestmentGradeMember
/ us-gaap_GuaranteeObligationsByNatureAxis
= us-gaap_FinancialStandbyLetterOfCreditMember
15,900,000,000us-gaap_GuaranteeObligationsMaximumExposure
/ us-gaap_ExternalCreditRatingByGroupingAxis
= us-gaap_ExternalCreditRatingNonInvestmentGradeMember
/ us-gaap_GuaranteeObligationsByNatureAxis
= us-gaap_FinancialStandbyLetterOfCreditMember
Financial standby letters of credit | Not rated    
Maximum potential amount of future payments    
Total amount outstanding 10,900,000,000us-gaap_GuaranteeObligationsMaximumExposure
/ us-gaap_ExternalCreditRatingByGroupingAxis
= c_ExternalCreditRatingNotRatedMember
/ us-gaap_GuaranteeObligationsByNatureAxis
= us-gaap_FinancialStandbyLetterOfCreditMember
9,500,000,000us-gaap_GuaranteeObligationsMaximumExposure
/ us-gaap_ExternalCreditRatingByGroupingAxis
= c_ExternalCreditRatingNotRatedMember
/ us-gaap_GuaranteeObligationsByNatureAxis
= us-gaap_FinancialStandbyLetterOfCreditMember
Performance guarantees    
Maximum potential amount of future payments    
Expire Within One Year 7,000,000,000c_GuaranteeObligationsMaximumExposureExpireWithinOneYear
/ us-gaap_GuaranteeObligationsByNatureAxis
= us-gaap_PerformanceGuaranteeMember
7,100,000,000c_GuaranteeObligationsMaximumExposureExpireWithinOneYear
/ us-gaap_GuaranteeObligationsByNatureAxis
= us-gaap_PerformanceGuaranteeMember
Expire After One Year 4,400,000,000c_GuaranteeObligationsMaximumExposureExpireAfterOneYear
/ us-gaap_GuaranteeObligationsByNatureAxis
= us-gaap_PerformanceGuaranteeMember
4,800,000,000c_GuaranteeObligationsMaximumExposureExpireAfterOneYear
/ us-gaap_GuaranteeObligationsByNatureAxis
= us-gaap_PerformanceGuaranteeMember
Total amount outstanding 11,400,000,000us-gaap_GuaranteeObligationsMaximumExposure
/ us-gaap_GuaranteeObligationsByNatureAxis
= us-gaap_PerformanceGuaranteeMember
11,900,000,000us-gaap_GuaranteeObligationsMaximumExposure
/ us-gaap_GuaranteeObligationsByNatureAxis
= us-gaap_PerformanceGuaranteeMember
Carrying value 25,000,000us-gaap_GuaranteeObligationsCurrentCarryingValue
/ us-gaap_GuaranteeObligationsByNatureAxis
= us-gaap_PerformanceGuaranteeMember
29,000,000us-gaap_GuaranteeObligationsCurrentCarryingValue
/ us-gaap_GuaranteeObligationsByNatureAxis
= us-gaap_PerformanceGuaranteeMember
Performance guarantees | Investment Grade    
Maximum potential amount of future payments    
Total amount outstanding 6,700,000,000us-gaap_GuaranteeObligationsMaximumExposure
/ us-gaap_ExternalCreditRatingByGroupingAxis
= us-gaap_ExternalCreditRatingInvestmentGradeMember
/ us-gaap_GuaranteeObligationsByNatureAxis
= us-gaap_PerformanceGuaranteeMember
7,300,000,000us-gaap_GuaranteeObligationsMaximumExposure
/ us-gaap_ExternalCreditRatingByGroupingAxis
= us-gaap_ExternalCreditRatingInvestmentGradeMember
/ us-gaap_GuaranteeObligationsByNatureAxis
= us-gaap_PerformanceGuaranteeMember
Performance guarantees | Non-Investment Grade    
Maximum potential amount of future payments    
Total amount outstanding 4,000,000,000us-gaap_GuaranteeObligationsMaximumExposure
/ us-gaap_ExternalCreditRatingByGroupingAxis
= us-gaap_ExternalCreditRatingNonInvestmentGradeMember
/ us-gaap_GuaranteeObligationsByNatureAxis
= us-gaap_PerformanceGuaranteeMember
3,900,000,000us-gaap_GuaranteeObligationsMaximumExposure
/ us-gaap_ExternalCreditRatingByGroupingAxis
= us-gaap_ExternalCreditRatingNonInvestmentGradeMember
/ us-gaap_GuaranteeObligationsByNatureAxis
= us-gaap_PerformanceGuaranteeMember
Performance guarantees | Not rated    
Maximum potential amount of future payments    
Total amount outstanding 700,000,000us-gaap_GuaranteeObligationsMaximumExposure
/ us-gaap_ExternalCreditRatingByGroupingAxis
= c_ExternalCreditRatingNotRatedMember
/ us-gaap_GuaranteeObligationsByNatureAxis
= us-gaap_PerformanceGuaranteeMember
700,000,000us-gaap_GuaranteeObligationsMaximumExposure
/ us-gaap_ExternalCreditRatingByGroupingAxis
= c_ExternalCreditRatingNotRatedMember
/ us-gaap_GuaranteeObligationsByNatureAxis
= us-gaap_PerformanceGuaranteeMember
Derivative instruments considered to be guarantees    
Maximum potential amount of future payments    
Expire Within One Year 11,500,000,000c_GuaranteeObligationsMaximumExposureExpireWithinOneYear
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_DerivativeInstrumentsConsideredGuaranteesMember
12,500,000,000c_GuaranteeObligationsMaximumExposureExpireWithinOneYear
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_DerivativeInstrumentsConsideredGuaranteesMember
Expire After One Year 73,100,000,000c_GuaranteeObligationsMaximumExposureExpireAfterOneYear
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_DerivativeInstrumentsConsideredGuaranteesMember
79,200,000,000c_GuaranteeObligationsMaximumExposureExpireAfterOneYear
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_DerivativeInstrumentsConsideredGuaranteesMember
Total amount outstanding 84,600,000,000us-gaap_GuaranteeObligationsMaximumExposure
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_DerivativeInstrumentsConsideredGuaranteesMember
91,700,000,000us-gaap_GuaranteeObligationsMaximumExposure
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_DerivativeInstrumentsConsideredGuaranteesMember
Carrying value 2,437,000,000us-gaap_GuaranteeObligationsCurrentCarryingValue
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_DerivativeInstrumentsConsideredGuaranteesMember
2,806,000,000us-gaap_GuaranteeObligationsCurrentCarryingValue
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_DerivativeInstrumentsConsideredGuaranteesMember
Derivative instruments considered to be guarantees | Investment Grade    
Maximum potential amount of future payments    
Total amount outstanding 0us-gaap_GuaranteeObligationsMaximumExposure
/ us-gaap_ExternalCreditRatingByGroupingAxis
= us-gaap_ExternalCreditRatingInvestmentGradeMember
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_DerivativeInstrumentsConsideredGuaranteesMember
0us-gaap_GuaranteeObligationsMaximumExposure
/ us-gaap_ExternalCreditRatingByGroupingAxis
= us-gaap_ExternalCreditRatingInvestmentGradeMember
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_DerivativeInstrumentsConsideredGuaranteesMember
Derivative instruments considered to be guarantees | Non-Investment Grade    
Maximum potential amount of future payments    
Total amount outstanding 0us-gaap_GuaranteeObligationsMaximumExposure
/ us-gaap_ExternalCreditRatingByGroupingAxis
= us-gaap_ExternalCreditRatingNonInvestmentGradeMember
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_DerivativeInstrumentsConsideredGuaranteesMember
0us-gaap_GuaranteeObligationsMaximumExposure
/ us-gaap_ExternalCreditRatingByGroupingAxis
= us-gaap_ExternalCreditRatingNonInvestmentGradeMember
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_DerivativeInstrumentsConsideredGuaranteesMember
Derivative instruments considered to be guarantees | Not rated    
Maximum potential amount of future payments    
Total amount outstanding 84,600,000,000us-gaap_GuaranteeObligationsMaximumExposure
/ us-gaap_ExternalCreditRatingByGroupingAxis
= c_ExternalCreditRatingNotRatedMember
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_DerivativeInstrumentsConsideredGuaranteesMember
91,700,000,000us-gaap_GuaranteeObligationsMaximumExposure
/ us-gaap_ExternalCreditRatingByGroupingAxis
= c_ExternalCreditRatingNotRatedMember
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_DerivativeInstrumentsConsideredGuaranteesMember
Loans sold with recourse    
Maximum potential amount of future payments    
Expire Within One Year 0c_GuaranteeObligationsMaximumExposureExpireWithinOneYear
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_LoansSoldWithRecourseMember
0c_GuaranteeObligationsMaximumExposureExpireWithinOneYear
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_LoansSoldWithRecourseMember
Expire After One Year 200,000,000c_GuaranteeObligationsMaximumExposureExpireAfterOneYear
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_LoansSoldWithRecourseMember
200,000,000c_GuaranteeObligationsMaximumExposureExpireAfterOneYear
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_LoansSoldWithRecourseMember
Total amount outstanding 200,000,000us-gaap_GuaranteeObligationsMaximumExposure
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_LoansSoldWithRecourseMember
200,000,000us-gaap_GuaranteeObligationsMaximumExposure
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_LoansSoldWithRecourseMember
Carrying value 15,000,000us-gaap_GuaranteeObligationsCurrentCarryingValue
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_LoansSoldWithRecourseMember
15,000,000us-gaap_GuaranteeObligationsCurrentCarryingValue
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_LoansSoldWithRecourseMember
Repurchase reserve for Consumer mortgages representations and warranties 216,000,000c_RepurchaseReserveConsumerMortgagesRepresentationsAndWarranties
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_LoansSoldWithRecourseMember
224,000,000c_RepurchaseReserveConsumerMortgagesRepresentationsAndWarranties
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_LoansSoldWithRecourseMember
Loans sold with recourse | Investment Grade    
Maximum potential amount of future payments    
Total amount outstanding 0us-gaap_GuaranteeObligationsMaximumExposure
/ us-gaap_ExternalCreditRatingByGroupingAxis
= us-gaap_ExternalCreditRatingInvestmentGradeMember
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_LoansSoldWithRecourseMember
0us-gaap_GuaranteeObligationsMaximumExposure
/ us-gaap_ExternalCreditRatingByGroupingAxis
= us-gaap_ExternalCreditRatingInvestmentGradeMember
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_LoansSoldWithRecourseMember
Loans sold with recourse | Non-Investment Grade    
Maximum potential amount of future payments    
Total amount outstanding 0us-gaap_GuaranteeObligationsMaximumExposure
/ us-gaap_ExternalCreditRatingByGroupingAxis
= us-gaap_ExternalCreditRatingNonInvestmentGradeMember
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_LoansSoldWithRecourseMember
0us-gaap_GuaranteeObligationsMaximumExposure
/ us-gaap_ExternalCreditRatingByGroupingAxis
= us-gaap_ExternalCreditRatingNonInvestmentGradeMember
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_LoansSoldWithRecourseMember
Loans sold with recourse | Not rated    
Maximum potential amount of future payments    
Total amount outstanding 200,000,000us-gaap_GuaranteeObligationsMaximumExposure
/ us-gaap_ExternalCreditRatingByGroupingAxis
= c_ExternalCreditRatingNotRatedMember
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_LoansSoldWithRecourseMember
200,000,000us-gaap_GuaranteeObligationsMaximumExposure
/ us-gaap_ExternalCreditRatingByGroupingAxis
= c_ExternalCreditRatingNotRatedMember
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_LoansSoldWithRecourseMember
Securities lending indemnifications    
Maximum potential amount of future payments    
Expire Within One Year 147,300,000,000c_GuaranteeObligationsMaximumExposureExpireWithinOneYear
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_SecuritiesLendingIndemnificationsMember
127,500,000,000c_GuaranteeObligationsMaximumExposureExpireWithinOneYear
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_SecuritiesLendingIndemnificationsMember
Expire After One Year 0c_GuaranteeObligationsMaximumExposureExpireAfterOneYear
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_SecuritiesLendingIndemnificationsMember
0c_GuaranteeObligationsMaximumExposureExpireAfterOneYear
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_SecuritiesLendingIndemnificationsMember
Total amount outstanding 147,300,000,000us-gaap_GuaranteeObligationsMaximumExposure
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_SecuritiesLendingIndemnificationsMember
127,500,000,000us-gaap_GuaranteeObligationsMaximumExposure
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_SecuritiesLendingIndemnificationsMember
Carrying value 0us-gaap_GuaranteeObligationsCurrentCarryingValue
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_SecuritiesLendingIndemnificationsMember
0us-gaap_GuaranteeObligationsCurrentCarryingValue
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_SecuritiesLendingIndemnificationsMember
Securities lending indemnifications | Investment Grade    
Maximum potential amount of future payments    
Total amount outstanding 0us-gaap_GuaranteeObligationsMaximumExposure
/ us-gaap_ExternalCreditRatingByGroupingAxis
= us-gaap_ExternalCreditRatingInvestmentGradeMember
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_SecuritiesLendingIndemnificationsMember
0us-gaap_GuaranteeObligationsMaximumExposure
/ us-gaap_ExternalCreditRatingByGroupingAxis
= us-gaap_ExternalCreditRatingInvestmentGradeMember
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_SecuritiesLendingIndemnificationsMember
Securities lending indemnifications | Non-Investment Grade    
Maximum potential amount of future payments    
Total amount outstanding 0us-gaap_GuaranteeObligationsMaximumExposure
/ us-gaap_ExternalCreditRatingByGroupingAxis
= us-gaap_ExternalCreditRatingNonInvestmentGradeMember
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_SecuritiesLendingIndemnificationsMember
0us-gaap_GuaranteeObligationsMaximumExposure
/ us-gaap_ExternalCreditRatingByGroupingAxis
= us-gaap_ExternalCreditRatingNonInvestmentGradeMember
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_SecuritiesLendingIndemnificationsMember
Securities lending indemnifications | Not rated    
Maximum potential amount of future payments    
Total amount outstanding 147,300,000,000us-gaap_GuaranteeObligationsMaximumExposure
/ us-gaap_ExternalCreditRatingByGroupingAxis
= c_ExternalCreditRatingNotRatedMember
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_SecuritiesLendingIndemnificationsMember
127,500,000,000us-gaap_GuaranteeObligationsMaximumExposure
/ us-gaap_ExternalCreditRatingByGroupingAxis
= c_ExternalCreditRatingNotRatedMember
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_SecuritiesLendingIndemnificationsMember
Credit card merchant processing    
Maximum potential amount of future payments    
Expire Within One Year 78,400,000,000c_GuaranteeObligationsMaximumExposureExpireWithinOneYear
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_CreditCardMerchantProcessingMember
86,000,000,000c_GuaranteeObligationsMaximumExposureExpireWithinOneYear
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_CreditCardMerchantProcessingMember
Expire After One Year 0c_GuaranteeObligationsMaximumExposureExpireAfterOneYear
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_CreditCardMerchantProcessingMember
0c_GuaranteeObligationsMaximumExposureExpireAfterOneYear
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_CreditCardMerchantProcessingMember
Total amount outstanding 78,400,000,000us-gaap_GuaranteeObligationsMaximumExposure
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_CreditCardMerchantProcessingMember
86,000,000,000us-gaap_GuaranteeObligationsMaximumExposure
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_CreditCardMerchantProcessingMember
Carrying value 0us-gaap_GuaranteeObligationsCurrentCarryingValue
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_CreditCardMerchantProcessingMember
0us-gaap_GuaranteeObligationsCurrentCarryingValue
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_CreditCardMerchantProcessingMember
Maximum potential contingent liability related to bankcard and private-label merchant processing services 78,000,000,000c_BankcardAndPrivateLabelMerchantProcessingServicesMaximumPotentialContingentLiability
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_CreditCardMerchantProcessingMember
86,000,000,000c_BankcardAndPrivateLabelMerchantProcessingServicesMaximumPotentialContingentLiability
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_CreditCardMerchantProcessingMember
Credit card merchant processing | Investment Grade    
Maximum potential amount of future payments    
Total amount outstanding 0us-gaap_GuaranteeObligationsMaximumExposure
/ us-gaap_ExternalCreditRatingByGroupingAxis
= us-gaap_ExternalCreditRatingInvestmentGradeMember
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_CreditCardMerchantProcessingMember
0us-gaap_GuaranteeObligationsMaximumExposure
/ us-gaap_ExternalCreditRatingByGroupingAxis
= us-gaap_ExternalCreditRatingInvestmentGradeMember
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_CreditCardMerchantProcessingMember
Credit card merchant processing | Non-Investment Grade    
Maximum potential amount of future payments    
Total amount outstanding 0us-gaap_GuaranteeObligationsMaximumExposure
/ us-gaap_ExternalCreditRatingByGroupingAxis
= us-gaap_ExternalCreditRatingNonInvestmentGradeMember
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_CreditCardMerchantProcessingMember
0us-gaap_GuaranteeObligationsMaximumExposure
/ us-gaap_ExternalCreditRatingByGroupingAxis
= us-gaap_ExternalCreditRatingNonInvestmentGradeMember
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_CreditCardMerchantProcessingMember
Credit card merchant processing | Not rated    
Maximum potential amount of future payments    
Total amount outstanding 78,400,000,000us-gaap_GuaranteeObligationsMaximumExposure
/ us-gaap_ExternalCreditRatingByGroupingAxis
= c_ExternalCreditRatingNotRatedMember
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_CreditCardMerchantProcessingMember
86,000,000,000us-gaap_GuaranteeObligationsMaximumExposure
/ us-gaap_ExternalCreditRatingByGroupingAxis
= c_ExternalCreditRatingNotRatedMember
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_CreditCardMerchantProcessingMember
Custody indemnifications and other    
Maximum potential amount of future payments    
Expire Within One Year 0c_GuaranteeObligationsMaximumExposureExpireWithinOneYear
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_CustodyIndemnificationsAndOtherMember
0c_GuaranteeObligationsMaximumExposureExpireWithinOneYear
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_CustodyIndemnificationsAndOtherMember
Expire After One Year 52,200,000,000c_GuaranteeObligationsMaximumExposureExpireAfterOneYear
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_CustodyIndemnificationsAndOtherMember
48,900,000,000c_GuaranteeObligationsMaximumExposureExpireAfterOneYear
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_CustodyIndemnificationsAndOtherMember
Total amount outstanding 52,200,000,000us-gaap_GuaranteeObligationsMaximumExposure
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_CustodyIndemnificationsAndOtherMember
48,900,000,000us-gaap_GuaranteeObligationsMaximumExposure
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_CustodyIndemnificationsAndOtherMember
Carrying value 55,000,000us-gaap_GuaranteeObligationsCurrentCarryingValue
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_CustodyIndemnificationsAndOtherMember
54,000,000us-gaap_GuaranteeObligationsCurrentCarryingValue
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_CustodyIndemnificationsAndOtherMember
Custody indemnifications and other | Investment Grade    
Maximum potential amount of future payments    
Total amount outstanding 52,100,000,000us-gaap_GuaranteeObligationsMaximumExposure
/ us-gaap_ExternalCreditRatingByGroupingAxis
= us-gaap_ExternalCreditRatingInvestmentGradeMember
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_CustodyIndemnificationsAndOtherMember
48,800,000,000us-gaap_GuaranteeObligationsMaximumExposure
/ us-gaap_ExternalCreditRatingByGroupingAxis
= us-gaap_ExternalCreditRatingInvestmentGradeMember
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_CustodyIndemnificationsAndOtherMember
Custody indemnifications and other | Non-Investment Grade    
Maximum potential amount of future payments    
Total amount outstanding 100,000,000us-gaap_GuaranteeObligationsMaximumExposure
/ us-gaap_ExternalCreditRatingByGroupingAxis
= us-gaap_ExternalCreditRatingNonInvestmentGradeMember
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_CustodyIndemnificationsAndOtherMember
100,000,000us-gaap_GuaranteeObligationsMaximumExposure
/ us-gaap_ExternalCreditRatingByGroupingAxis
= us-gaap_ExternalCreditRatingNonInvestmentGradeMember
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_CustodyIndemnificationsAndOtherMember
Custody indemnifications and other | Not rated    
Maximum potential amount of future payments    
Total amount outstanding 0us-gaap_GuaranteeObligationsMaximumExposure
/ us-gaap_ExternalCreditRatingByGroupingAxis
= c_ExternalCreditRatingNotRatedMember
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_CustodyIndemnificationsAndOtherMember
0us-gaap_GuaranteeObligationsMaximumExposure
/ us-gaap_ExternalCreditRatingByGroupingAxis
= c_ExternalCreditRatingNotRatedMember
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_CustodyIndemnificationsAndOtherMember
Futures and over-the-counter derivatives clearing    
Maximum potential amount of future payments    
Number of types of margin 2c_NumberOfTypesOfMargin
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_FuturesAndOverTheCounterDerivativesClearingMember
 
Amount of cash initial margin collected and remitted $ 4,100,000,000c_CashInitialMarginCollectedAndRemittedAmount
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_FuturesAndOverTheCounterDerivativesClearingMember
$ 3,200,000,000c_CashInitialMarginCollectedAndRemittedAmount
/ us-gaap_GuaranteeObligationsByNatureAxis
= c_FuturesAndOverTheCounterDerivativesClearingMember