Introduction

The Silvergate Exchange Network (SEN) allows instant transfers 24/7/365 between participating Silvergate customers. To participate, companies need to onboard to SEN; a customer’s service contact(s) can help facilitate legal agreements and counterparty connections. SEN transfers can be initiated via 3 channels: business online banking (aka BeB), API, or through the Portal--Silvergate's proprietary online banking platform. Each methods translates to unique results on our back end core banking system, so that API consumers can automatically attribute source of funds and analyze transaction history.

Sending Transfers via API

To transfer U.S. dollars via SEN, use the POST account/transfer/sen endpoint. Use link for Request Body definitions.

Connection to GET History and Attributing SEN Transaction Details

The keys to identifying SEN transfers via GET history are:

  • Tran codes (transaction_code) illustrated in the following tables, specific to originating channel. For complete list of tran codes, see this post.
  • Description Lines, which serve the purpose of adding critical metadata
    • Note each record has a SEN metadata sub object labeled "sen_transfer_response", where standard descriptive data is pre-parsed for API and Portal transactions; SEN transfers conducted via business online banking are a legacy method and cannot be pre-parsed.

The above are further illustrated in the table below. Also reference detailed GET history info here.

Transaction Typetransaction_codetransaction_descriptiontransaction_description2
SEN Debit via API9084 (API v2) and 9086 (API v3)
  • Format: SEN to {receiving-account-number}+{granular-timestamp}
  • Example: SEN to 1234567890+1245118573661
  • Note: Timestamp in example indicates 12:45 PM Pacific Time
Values entered in POST transfer/sen Body “account_from_description2” are mapped to this field
SEN Debit via Portal9028
  • Format: SEN to {account-number}+{date and timestamp}
  • Example: SEN to 1234567890+20/05/07 14:14:42.98
  • Note: Timestamp is Pacific Time
Values entered by sender in Portal Memo are mapped to this field
SEN Debit via Online Banking82
  • Format: Ref {refcode} to Dep {account-number} {optional sender memo}
  • Example: Ref 1350924 to Dep 2222222222 MyMemoHere
  • Note: The Ref is a Julian date with HHMM timestamp; example indicates 135th day of the year, 09:24 Pacific
transaction_description captures optional sender memo from online banking; and if transaction_description exceeds 40 characters, remaining characters are mapped to transaction_description2 field
SEN Credit via API4005 (API v2) and 4007 (API v3)
  • Format: SEN from {sending-account-number}+{granular-timestamp}
  • Example: SEN from 1111111111+1035118573661
  • Note: Timestamp in example indicates 10:35 AM Pacific Time
Values entered in POST transfer/sen Body “account_to_description2” are mapped to this field
SEN Credit via Portal4028
  • Format: SEN from {account-number}+{date and timestamp}
  • Example: SEN from 2222222222+20/05/07 13:42:17.60
  • Note: Timestamp is Pacific Time
Values entered by sender in Portal Memo are mapped to this field
SEN Credit via Online Banking25
  • Format: Ref {refcode} to Dep {account-number} {optional sender memo}
  • Example: Ref 2451422 to Dep 1111111111 MyMemoHere
  • Note: The Ref is a Julian date with HHMM timestamp; example indicates 245th day of the year, 14:22 or 2:22pm Pacific
transaction_description captures optional sender memo from online banking; and if transaction_description exceeds 40 characters, remaining characters are mapped to transaction_description2 field

POST transfer/sen Body Example

{
   "amount": 1,
   "account_number_from": "1111111111",
   "account_number_to": "2222222222",
   "account_from_description2": "ID 6MacE3E16XVe18j",
   "account_to_description2": "ID 6MacE3E16XVe18j"
}

Response from GET account/history endpoint as the Sender of the API SEN transfer (irrelevant fields hidden)

{
    "records": [
        {
            "transaction_code": "9084",
            "transaction_amount": 1,
            "transaction_description": "SEN to 1111111111+1245118573661",
            "transaction_secondary_description": "ID 6MacE3E16XVe18j",
            "effective_date": "2021-09-30T00:00:00",
            "debit_credit_flag": "debit",
            "sen_transfer_response": { 
                "counter_party_account_number": "1111111111", 
                "timestamp": "1245118573661",
                "sender_memo": "ID 6MacE3E16XVe18j",
                "counter_party_legal_name": null
            }
        }
    ]
}

Response from GET account/history endpoint as the Receiver of the API SEN transfer (irrelevant fields hidden)

{
    "TRANSACTION": [
        { 
            "effective_date": "2020-04-01T00:00:00", 
            "transaction_code": "4007", 
            "transaction_amount": 1.00, 
            "transaction_description": "SEN from 1111111111+1245118573661", 
            "transaction_secondary_description": "ID 6MacE3E16XVe18j", 
            "debit_credit_flag": "credit",
            "sen_transfer_response": { 
                "counter_party_account_number": "1111111111", 
                "timestamp": "1245118573661",
                "sender_memo": "ID 6MacE3E16XVe18j",
                "counter_party_legal_name": null
            }
        }
    ]
}