Understanding Real-Time Updates

Currently, Conduit Financial does not offer webhooks for real-time transaction status updates. However, clients can programmatically check the status of transactions, counterparties, and balances using our API.

Polling for Status Changes

To track updates efficiently, we recommend implementing a polling mechanism where your system periodically queries the API for the latest transaction status. This approach ensures your application remains up-to-date with minimal delay.

Recommended Polling Strategy:

  • Use efficient intervals: Poll at reasonable intervals (e.g., every 30 seconds) to balance responsiveness with performance.
  • Leverage caching: Store previous responses to detect changes efficiently.

Below are examples (with placeholders) showing how to check a transaction’s status, retrieve an account’s balance, and get a counterparty’s status. Replace the example IDs and credentials with your actual values.

Check Transaction Status

curl --request GET \
  --url https://api.conduit.financial/transactions/trxn_2ji0un2T6BaGhHKsmJu93Zf5OQm \
  --header "Accept: application/json" \
  --header "X-API-Key: YOUR_API_KEY" \
  --header "X-API-Secret: YOUR_API_SECRET"
{
  "type": "offramp",
  "id": "trxn_2ji0un2T6BaGhHKsmJu93Zf5OQm",
  "quote": "quote_2nqjHpNLK6wSNlFyMvZgX8SYeAO",
  "source": {
    "id": "bank_2kezVryAA3Uw9LJYBiXUV7Pj6gu",
    "asset": "USDT",
    "network": "tron",
    "amount": "115.000000"
  },
  "destination": {
    "id": "bank_2UOcdiXWXbHdLRl3zfU2gG27yRi",
    "asset": "USD",
    "amount": "117.00"
  },
  "documents": [
    {
      "id": "doc_2ofTAESrTs4uQ8N3yGBMhGj59jV"
    }
  ],
  "status": "completed",
  "createdAt": "2024-10-26T02:21:03.742Z",
  "completedAt": "2024-10-26T02:45:03.742Z",
  "reference": "TRX#09123A",
  "purpose": "Other"
}

The key field to look at is "status", which shows whether the transaction is created, in_compliance_review, completed, etc. By polling this endpoint periodically your application can stay updated on the transaction’s status in near real-time.

Retrieve Account Balance

curl --request GET \
  --url https://api.conduit.financial/accounts/acct_2fvietuCNSu8unMNLsEGBrDTVFn \
  --header "Accept: application/json" \
  --header "X-API-Key: YOUR_API_KEY" \
  --header "X-API-Secret: YOUR_API_SECRET"
{
  "data": [
    {
      "id": "acct_2fvietuCNSu8unMNLsEGBrDTVFn",
      "balances": {
        "available": [
          {
            "asset": "USDC",
            "network": "ethereum",
            "amount": "90.000000"
          },
          {
            "asset": "USDT",
            "network": "ethereum",
            "amount": "0"
          },
          {
            "asset": "USDT",
            "network": "tron",
            "amount": "150.320000"
          }
        ]
      },
      "createdAt": "2024-10-27T00:00:00.000Z"
    }
  ],
  "links": {
    "first": "/accounts",
    "next": null
  }
}

Here, the "balances" object shows the account’s available balances.

Get Counterparty Status

curl --request GET \
  --url https://api.conduit.financial/counterparties/cp_ABC123 \
  --header "Accept: application/json" \
  --header "X-API-Key: YOUR_API_KEY" \
  --header "X-API-Secret: YOUR_API_SECRET"
{
  "id": "cp_ABC123",
  "type": "individual",
  "firstName": "John",
  "middleName": "Snow",
  "lastName": "Smith",
  "birthDate": "2020-03-15",
  "nationality": "US",
  "email": "[email protected]",
  "phone": "+1-555-123-4567",
  "identificationType": "curp",
  "identificationNumber": "123",
  "address": {
    "streetLine1": "21 Jump Street",
    "streetLine2": "Unit 708",
    "city": "Boston",
    "state": "MA",
    "postalCode": "02111",
    "country": "USA"
  },
  "paymentMethods": [
    {
      "id": "1234",
      "type": "bank",
      "rail": [
        "ted",
        "pix"
      ],
      "bankName": "First National Bank",
      "accountType": "checking",
      "accountOwnerName": "Global Tech Solutions",
      "accountNumber": "123456789",
      "routingNumber": "123",
      "swiftCode": "FNBOUS33",
      "branchCode": "1234",
      "bankCode": "123",
      "currency": "USD",
      "address": {
        "streetLine1": "21 Jump Street",
        "streetLine2": "Unit 708",
        "city": "Boston",
        "state": "MA",
        "postalCode": "02111",
        "country": "USA"
      }
    },
    {
      "id": "bank_1234",
      "type": "wallet",
      "rail": "ethereum",
      "walletAddress": "0X0000000",
      "walletLabel": "Gus Personal ETH Wallet"
    },
    {
      "id": "wlt_1234",
      "type": "wallet",
      "rail": "tron",
      "walletAddress": "T0000000",
      "walletLabel": "Gus Personal Tron Wallet"
    }
  ],
  "documents": [
    {
      "documentId": "doc_1234",
      "documentPurpose": "recurring_payment",
      "documentType": "invoice",
      "documentName": "invoice.png",
      "uploadedAt": "2023-10-15T09:30:00Z"
    }
  ],
  "status": "active",
  "createdAt": "2024-01-01T10:00:00Z",
  "updatedAt": "2024-02-15T15:45:00Z"
}

Check the "status" field to see the counterparty’s current verification status.