Wire Reporting APIs are Here!

 We have received multiple requests to get more expansive reporting on wire activity from customers that generate large volumes of incoming and outgoing wires. The feedback has been that, though the debits/credits associated with wire transactions always appear in the account history, often times the wire details are relied upon to attribute incoming wires to customer accounts which are held on our client’s systems. A bank’s core system will usually contain 5 or less fields related to a wire, and those fields are usually limited to the amount of the wire, some basic description lines, and payment dates. Full wire metadata is often not available via online banking, statements, or other methods, leaving some customers without visibility into their wire volume detail. Thus, being able to quickly and consistently look at wire metadata to understand where incoming funds should be attributed to is an important feature we are happy to provide via 2 new API calls:

  • Wire Summary
  • Wire Detail

In combination with the ability to create sub-accounts, transfer between accounts, and view account history over the API, fully automated account reconciliation and attribution is a reality many of our customers are leveraging the API for today.

How It Works

We’ve setup a process where data for all incoming and outgoing wires to Silvergate is extracted from our wire system and imported into our API database on a real-time basis. Via the API, we’re exposing this data so that clients can query their own wire records and pull back either the top 23 fields via the Wire Summary Post (many records at once) or 106 fields via the Wire Detail Post (1 at a time).

Wire Summary

The first method is the Account/Wiresummary Post. Simply put, it queries wire data and returns the resultant record(s)s using up to 4 filters. See API definition specifics on the API tab within this portal for format, optionality, etc. This summary should be expansive enough to solve 80% of all attribution related use cases. Additionally, you can see what wires may be held in outgoing review queues, giving you increased visibility into the wire workflow.

Wire Detail

The second method is the Account/Wiredetail Post. Like its partner, it queries wire data and returns the resultant record, but it uses only 2 filters and will only return 1 wire record at a time (for performance reasons). The benefit is the exhaustive data detail it provides as it will bring back 106 data points for each record.  This method is especially useful for difficult “edge” cases, or instances where granular detail on a wire is required.

Tying Wire Reporting and Transaction History Data Sets Together

Did you know that every wire record will have a corresponding Transaction History Record? Its true, and to see the associated Transaction History, you can pull the transaction history for the same time period and look in Transaction Description Line 2 (TranDescS). The description starting with “PRN:XXXXXX” will be the same as the eWire TransactionID. The team is working to further enhance the tying of these two datasets through advanced versions of current Transaction History API endpoints.

 

Wire Data Deeper Dive

To help shed light on the 209 possible wire data points we have access to (so far we’re exposing 106 fields we think may be of interest), we broke it down into the related data groups explained below:

Group Name

Explanation

eWire Info

These are the base fields from our wire system called eWire, including the unique Transaction Number which also shows up in transaction descriptions in online banking and statements.

Basic Payment Info

Includes basics like the Amount of the transaction and informative Fedwire codes.

Sending Bank

This group describes the bank which sends the currency.

Receiving Bank

This is group describes the bank which receives the currency.

Originator

The individual or entity whose currency is the source of funds.

Originating Bank

The bank of the individual or entity whose currency is the source of funds.

Instructing Bank

This is sometimes used when there is an extra bank facilitating the transfer.

Beneficiary

The ultimate recipient of the funds.

Beneficiary Bank

The ultimate bank of the recipient.

Intermediary Bank 

This is sometimes used when there is an extra bank facilitating the transfer.

Reference Numbers

These are federal reference numbers including IMAD and OMAD data points.

Charges

Data related to any charges incurred across any participating bank.

 

For further field by field definition, see this table:

Data Group Name

Field Name

Sample data

Data Type

Length

eWire Info

TransactionNumber_1

201709060037038

varchar

15

MethodOfPayment_2

7

varchar

10

InstitutionCode_3

H34

varchar

10

BranchCode_4

1

varchar

10

DepartmentCode_5

130

varchar

10

BookCreditInstitutionCode_6

H34

varchar

10

BookCreditBranchCode_7

1

varchar

10

Basic Payment Info

PaymnentDate_8

42984

date

10

ValueDate_9

42984

date

10

ExternalSequenceNumber_10

4265000351

varchar

10

CurrencyCode_11

USD

varchar

10

Amount_12

10000000

integer (2 decimals)

10

TotalBillCharges_13

30

integer (2 decimals)

10

TotalDeductCharges_14

0

integer (2 decimals)

10

BeneficiaryType_15

N

varchar

10

FedWireProductCode_16

CTR

varchar

10

FedwireType_17

10

varchar

10

FedwireSubType_18

08

varchar

10

AchClass_19

0

varchar

40

AchCode_20

0

varchar

40

SourceIndicator_21

FED

varchar

10

ReferenceForBeneficiary_22

1709061625000030

varchar

16

SendersReference_23

3230758800055350

varchar

16

Sending Bank

SendingBankType_24

F

varchar

10

SendingBankId_25

325181248

varchar

10

SendingBankName_26

Example Fed Bank

varchar

35

SendingBankAddress1_27

101 Main St.

varchar

40

SendingBankAddress2_28

New York

varchar

25

SendingBankAddress3_29

NY

varchar

10

AdviceAddress_30

0

varchar

40

AdviceMethod_31

0

varchar

40

Receiving Bank

SwiftAdviceMessageType_32

0

varchar

40

ReceivingBankType_33

F

varchar

10

ReceivingBankId_34

323371076

varchar

11

ReceivingBankName_35

Example Fed Bank

varchar

35

ReceivingBankAddress1_36

101 Main St.

varchar

40

ReceivingBankAddress2_37

San Diego

varchar

25

ReceivingBankAddress3_38

CA

varchar

10

AdviceAddress_39

0

varchar

40

AdviceMethod_40

0

varchar

40

Originator

SwiftAdviceMessageType_41

0

varchar

40

OriginatorType_42

X

varchar

10

OriginatorId_43

205000100013506

varchar

29

Name_44

Satoshi Nakamoto

varchar

35

Address1_45

100 Main St.

varchar

35

Address2_46

City, zip

varchar

35

Address3_47

City, zip, country

varchar

35

AdviceAddress_48

0

varchar

161

AdviceMethod_49

0

varchar

10

SwiftMessageType_50

0

varchar

40

Originating Bank

OriginatingBankType_51

S

varchar

10

Id_52

BANKXXXXX

varchar

14

Name_53

Fake Bank

varchar

35

Address1_54

100 Main St.

varchar

35

Address2_55

City, zip

varchar

35

Address3_56

City, zip, country

varchar

35

AdviceAddress_57

0

varchar

40

AdviceMethod_58

0

varchar

40

SwiftAdviceMessageType_59

0

varchar

40

InstructingBankType_60

S

varchar

10

Id_61

BANKXXXXX

varchar

11

Name_62

Fake Bank

varchar

35

Address1_63

100 Main St.

varchar

35

Address2_64

City, zip

varchar

35

Address3_65

City, zip, country

varchar

35

AdviceAddress_66

0

varchar

40

AdviceMethod_67

0

varchar

10

SwiftAdviceMessageType_68

0

varchar

40

Beneficiary

BeneficiaryType_69

0

varchar

10

BeneficiaryId_70

1234567890

varchar

24

Name_71

Bene Name

varchar

35

Address1_72

101 address

varchar

35

Address2_73

101 address

varchar

35

Address3_74

101 address

varchar

26

AdviceAddress_75

0

varchar

136

AdviceMethod_76

8

varchar

10

SwiftAdviceMessageType_77

0

varchar

40

Beneficiary Bank

BeneficiaryBankType_78

D

varchar

10

Id_79

110000100010240

varchar

15

Name_80

FRB WIRE SETTLEMENT

varchar

35

Address1_81

101 address

varchar

35

Address2_82

101 address

varchar

35

Address3_83

101 address

varchar

35

AdviceAddress_84

0

varchar

25

AdviceMethod_85

8

varchar

10

SwiftAdviceMessageType_86

0

varchar

40

Intermediary Bank 

IntermediaryBankType_87

S

varchar

40

Id_88

1234567890

varchar

40

Name_89

Bene Name

varchar

40

Address1_90

101 address

varchar

40

Address2_91

101 address

varchar

40

Address3_92

101 address

varchar

40

AdviceAddress_93

0

varchar

40

AdviceMethod_94

0

varchar

40

SwiftAdviceMessageType_95

0

varchar

40

Basic Payment Info

OriginatorToBeneficiaryInfoLine1_96

322286803

varchar

35

OriginatorToBeneficiaryInfoLine2_97

3001215700

varchar

35

OriginatorToBeneficiaryInfoLine3_98

18593612

varchar

35

OriginatorToBeneficiaryInfoLine4_99

520286326

varchar

35

BankToBAnkInfoLine1_100

405

varchar

35

BankToBAnkInfoLine2_101

0

varchar

35

BankToBAnkInfoLine3_102

0

varchar

35

BankToBAnkInfoLine4_103

0

varchar

26

BankToBAnkInfoLine5_104

0

varchar

10

BankToBAnkInfoLine6_105

0

varchar

40

eWire Info

AdviceInformationLine1_106

0

varchar

30

AdviceInformationLine2_107

0

varchar

40

AdviceInformationLine3_108

0

varchar

40

AdviceInformationLine4_109

0

varchar

40

AdviceInformationLine5_110

0

varchar

40

AdviceInformationLine6_111

0

varchar

40

Reference Numbers

ChipsIsn_112

0

varchar

40

ChipsOsn_113

0

varchar

40

ChipsPsn_114

0

varchar

40

ChipsRsn_115

0

varchar

40

ChipsSsn_116

0

varchar

40

ImadCycleDate_117

20170906

date

10

ImadCalendarDate_118

906

date (MMDD)

10

ImadApplicationId_119

0

varchar

40

Imsn_120

57377

varchar

10

ImadLtermId_121

ABC1234

varchar

10

ImadTime_122

2336

date

10

OmadCycleData_123

20170906

date

10

OmadCalendarDate_124

906

date

10

OmadApplicationId_125

FT01

varchar

10

OmadLtermId_126

ABC1234

varchar

10

Omsn_127

62496

varchar

10

OmadTime_128

2336

varchar

10

Basic Payment Info

CurrencyInstructedAmountIncomingMt103_129

USD12700,00

varchar

13

ExchangeRateIncomingMt103_130

12662000

varchar

10

Charges

DetailOfChanrgesIncomingMt103_131

SHA

varchar

10

SendersChargesIncomingMt103_132

USD25,00

varchar

10

SendersChargesIncomingMt103_133

USD25,00

varchar

10

SendersChargesIncomingMt103_134

USD25,00

varchar

40

SendersChargesIncomingMt103_135

0

varchar

40

ReceiversChargesIncomingMt103_136

0

varchar

40

Basic Payment Info

TransactionTypeCodeIncomingMt103_137

0

varchar

40

Reference Numbers

EntryDate_138

42985

date

16

CompletionDate_139

42984

date

10

CancelDate_140

42984

date

10

TerminateDate_141

0

date

40

RolloverDate_142

42983

date

10

PrintedDate_143

0

date

40

eWire Info

OfacCheckFlag_144

42

varchar

10

Basic Payment Info

EdiFlag_145

0

varchar

10

PreNotificationFlag_146

0

varchar

10

eWire Info

TemplateName_147

0

varchar

13

TemplateVersionNumber_148

1

varchar

10

Memo_149

0

varchar

536

Basic Payment Info

BeneficiaryCountryCode_150

0

varchar

10

BeneficiaryBankCountyCode_151

0

varchar

40

ReasonPaymentLine1_152

0

varchar

40

ReasonPaymentLine2_153

0

varchar

20

DebitAccountType_154

D

varchar

10

DebitAccountId_155

000000001234567

varchar

15

CreditAccountType_156

D

varchar

10

CreditAccountId_157

000000001234567

varchar

15

LocalAmount_158

10000000

integer (2 decimals)

10

PaidAmount_159

10000000

integer (2 decimals)

10

OverrideCharges_160

30

integer (2 decimals)

10

RemittanceCurrency_161

USD

varchar

10

RemitanceAmount_162

0

integer (2 decimals)

10

RemitanceAppliedRate_163

0

varchar

10

RemitanceType_164

0

varchar

40

AdditionalPaymentDataFlag_165

0

varchar

40

CoverOriginatorType_166

0

varchar

40

AdditionalPaymentDataOriginatorId_167

0

varchar

40

Name_168

0

varchar

40

Address1_169

0

varchar

40

Address2_170

0

varchar

40

Address3_171

0

varchar

40

AdditionalPaymentDataOrderingBankType_172

0

varchar

40

AdditionalPaymentDataOrderingBankId_173

0

varchar

40

Name_174

0

varchar

10

Address1_175

0

varchar

40

Address2_176

0

varchar

40

Address3_177

0

varchar

40

AdditionalPaymentDataIntermediaryBankType_178

0

varchar

40

AdditionalPaymentDataIntermediaryBankId_179

0

varchar

40

Name_180

0

varchar

40

Address1_181

0

varchar

40

Address2_182

0

varchar

40

Address3_183

0

varchar

40

AdditionalPaymentDataBeneficiaryBankType_184

0

varchar

40

AdditionalPaymentDataBeneficiaryBankId_185

0

varchar

40

Name_186

0

varchar

40

Address1_187

0

varchar

40

Address2_188

0

varchar

40

Address3_189

0

varchar

40

AdditionalPaymentDataBeneficiaryType_190

0

varchar

40

AdditionalPaymentDataBeneficiaryId_191

0

varchar

40

Name_192

0

varchar

40

Address1_193

0

varchar

40

Address2_194

0

varchar

40

Address3_195

0

varchar

40

AdditionalPaymentDataOriginatorToBeneficiaryInfoLine1_196

0

varchar

40

AdditionalPaymentDataOriginatorToBeneficiaryInfoLine2_197

0

varchar

40

AdditionalPaymentDataOriginatorToBeneficiaryInfoLine3_198

0

varchar

40

AdditionalPaymentDataOriginatorToBeneficiaryInfoLine4_199

0

varchar

40

AdditionalPaymentDataBankToBankInfoLine1_200

0

varchar

40

AdditionalPaymentDataBankToBankInfoLine2_201

0

varchar

40

AdditionalPaymentDataBankToBankInfoLine3_202

0

varchar

40

AdditionalPaymentDataBankToBankInfoLine4_203

0

varchar

40

AdditionalPaymentDataBankToBankInfoLine5_204

0

varchar

40

AdditionalPaymentDataBankToBankInfoLine6_205

0

varchar

40

AdditionalPaymentDataCurrencyInstructedAmtMt103_206

0

varchar

40

AdditionalPaymentDataData_207

0

varchar

40

DebitCustomer_208

0

varchar

40

CreditCustomer_209

0

varchar

40

 

 Best of luck in leveraging this new feature. If you have questions or would like a detailed session with the API team, please contact us at APISupport@silvergatebank.com

 

The Silvergate API Team