Skip to content
Get started

Funding Events

Funding events represent all money movement between Straddle and an Account's external bank accounts. They are automatically generated when charges settle or payouts are initiated. Each event provides detailed tracking of settlement status, fee breakdowns, and reconciliation data across both incoming and outgoing transfers. Use funding events to monitor your platform's entire money movement lifecycle.

List funding events
client.FundingEvents.List(ctx, params) (*PageNumberSchema[FundingEventSummaryPagedV1Data], error)
GET/v1/funding_events
Lookup a funding event
client.FundingEvents.Get(ctx, id, query) (*FundingEventSummaryItemV1, error)
GET/v1/funding_events/{id}
ModelsExpand Collapse
type FundingEventSummaryItemV1 struct{…}
Data FundingEventSummaryItemV1Data
ID string

Unique identifier for the funding event.

formatuuid
Amount int64

The amount of the funding event in cents.

formatint32
CreatedAt Time

Created at.

formatdate-time
Direction string

Describes the direction of the funding event from the perspective of the linked_bank_account.

One of the following:
const FundingEventSummaryItemV1DataDirectionDeposit FundingEventSummaryItemV1DataDirection = "deposit"
const FundingEventSummaryItemV1DataDirectionWithdrawal FundingEventSummaryItemV1DataDirection = "withdrawal"
EventType string

The funding event types describes the direction and reason for the funding event.

One of the following:
const FundingEventSummaryItemV1DataEventTypeChargeDeposit FundingEventSummaryItemV1DataEventType = "charge_deposit"
const FundingEventSummaryItemV1DataEventTypeChargeReversal FundingEventSummaryItemV1DataEventType = "charge_reversal"
const FundingEventSummaryItemV1DataEventTypePayoutReturn FundingEventSummaryItemV1DataEventType = "payout_return"
const FundingEventSummaryItemV1DataEventTypePayoutWithdrawal FundingEventSummaryItemV1DataEventType = "payout_withdrawal"
PaymentCount int64

The number of payments associated with the funding event.

formatint32
TraceIDs map[string, string]

Trace Ids.

TraceNumbers []string

Trace number.

TransferDate Time

The date on which the funding event occurred. For deposits and returns, this is the date the funds were credited to your bank account. For withdrawals and reversals, this is the date the funds were debited from your bank account.

formatdate
UpdatedAt Time

Updated at.

formatdate-time
Status stringoptional

The current status of the charge or payout.

One of the following:
const FundingEventSummaryItemV1DataStatusCreated FundingEventSummaryItemV1DataStatus = "created"
const FundingEventSummaryItemV1DataStatusScheduled FundingEventSummaryItemV1DataStatus = "scheduled"
const FundingEventSummaryItemV1DataStatusFailed FundingEventSummaryItemV1DataStatus = "failed"
const FundingEventSummaryItemV1DataStatusCancelled FundingEventSummaryItemV1DataStatus = "cancelled"
const FundingEventSummaryItemV1DataStatusOnHold FundingEventSummaryItemV1DataStatus = "on_hold"
const FundingEventSummaryItemV1DataStatusPending FundingEventSummaryItemV1DataStatus = "pending"
const FundingEventSummaryItemV1DataStatusPaid FundingEventSummaryItemV1DataStatus = "paid"
const FundingEventSummaryItemV1DataStatusReversed FundingEventSummaryItemV1DataStatus = "reversed"
const FundingEventSummaryItemV1DataStatusValidating FundingEventSummaryItemV1DataStatus = "validating"
StatusDetails FundingEventSummaryItemV1DataStatusDetailsoptional
ChangedAt Time

The time the status change occurred.

formatdate-time
Message string

A human-readable description of the current status.

Reason string
One of the following:
const FundingEventSummaryItemV1DataStatusDetailsReasonInsufficientFunds FundingEventSummaryItemV1DataStatusDetailsReason = "insufficient_funds"
const FundingEventSummaryItemV1DataStatusDetailsReasonClosedBankAccount FundingEventSummaryItemV1DataStatusDetailsReason = "closed_bank_account"
const FundingEventSummaryItemV1DataStatusDetailsReasonInvalidBankAccount FundingEventSummaryItemV1DataStatusDetailsReason = "invalid_bank_account"
const FundingEventSummaryItemV1DataStatusDetailsReasonInvalidRouting FundingEventSummaryItemV1DataStatusDetailsReason = "invalid_routing"
const FundingEventSummaryItemV1DataStatusDetailsReasonDisputed FundingEventSummaryItemV1DataStatusDetailsReason = "disputed"
const FundingEventSummaryItemV1DataStatusDetailsReasonPaymentStopped FundingEventSummaryItemV1DataStatusDetailsReason = "payment_stopped"
const FundingEventSummaryItemV1DataStatusDetailsReasonOwnerDeceased FundingEventSummaryItemV1DataStatusDetailsReason = "owner_deceased"
const FundingEventSummaryItemV1DataStatusDetailsReasonFrozenBankAccount FundingEventSummaryItemV1DataStatusDetailsReason = "frozen_bank_account"
const FundingEventSummaryItemV1DataStatusDetailsReasonRiskReview FundingEventSummaryItemV1DataStatusDetailsReason = "risk_review"
const FundingEventSummaryItemV1DataStatusDetailsReasonFraudulent FundingEventSummaryItemV1DataStatusDetailsReason = "fraudulent"
const FundingEventSummaryItemV1DataStatusDetailsReasonDuplicateEntry FundingEventSummaryItemV1DataStatusDetailsReason = "duplicate_entry"
const FundingEventSummaryItemV1DataStatusDetailsReasonInvalidPaykey FundingEventSummaryItemV1DataStatusDetailsReason = "invalid_paykey"
const FundingEventSummaryItemV1DataStatusDetailsReasonPaymentBlocked FundingEventSummaryItemV1DataStatusDetailsReason = "payment_blocked"
const FundingEventSummaryItemV1DataStatusDetailsReasonAmountTooLarge FundingEventSummaryItemV1DataStatusDetailsReason = "amount_too_large"
const FundingEventSummaryItemV1DataStatusDetailsReasonTooManyAttempts FundingEventSummaryItemV1DataStatusDetailsReason = "too_many_attempts"
const FundingEventSummaryItemV1DataStatusDetailsReasonInternalSystemError FundingEventSummaryItemV1DataStatusDetailsReason = "internal_system_error"
const FundingEventSummaryItemV1DataStatusDetailsReasonUserRequest FundingEventSummaryItemV1DataStatusDetailsReason = "user_request"
const FundingEventSummaryItemV1DataStatusDetailsReasonOk FundingEventSummaryItemV1DataStatusDetailsReason = "ok"
const FundingEventSummaryItemV1DataStatusDetailsReasonOtherNetworkReturn FundingEventSummaryItemV1DataStatusDetailsReason = "other_network_return"
const FundingEventSummaryItemV1DataStatusDetailsReasonPayoutRefused FundingEventSummaryItemV1DataStatusDetailsReason = "payout_refused"
const FundingEventSummaryItemV1DataStatusDetailsReasonCancelRequest FundingEventSummaryItemV1DataStatusDetailsReason = "cancel_request"
const FundingEventSummaryItemV1DataStatusDetailsReasonFailedVerification FundingEventSummaryItemV1DataStatusDetailsReason = "failed_verification"
const FundingEventSummaryItemV1DataStatusDetailsReasonRequireReview FundingEventSummaryItemV1DataStatusDetailsReason = "require_review"
const FundingEventSummaryItemV1DataStatusDetailsReasonBlockedBySystem FundingEventSummaryItemV1DataStatusDetailsReason = "blocked_by_system"
const FundingEventSummaryItemV1DataStatusDetailsReasonWatchtowerReview FundingEventSummaryItemV1DataStatusDetailsReason = "watchtower_review"
const FundingEventSummaryItemV1DataStatusDetailsReasonValidating FundingEventSummaryItemV1DataStatusDetailsReason = "validating"
const FundingEventSummaryItemV1DataStatusDetailsReasonAutoHold FundingEventSummaryItemV1DataStatusDetailsReason = "auto_hold"
Source string
One of the following:
const FundingEventSummaryItemV1DataStatusDetailsSourceWatchtower FundingEventSummaryItemV1DataStatusDetailsSource = "watchtower"
const FundingEventSummaryItemV1DataStatusDetailsSourceBankDecline FundingEventSummaryItemV1DataStatusDetailsSource = "bank_decline"
const FundingEventSummaryItemV1DataStatusDetailsSourceCustomerDispute FundingEventSummaryItemV1DataStatusDetailsSource = "customer_dispute"
const FundingEventSummaryItemV1DataStatusDetailsSourceUserAction FundingEventSummaryItemV1DataStatusDetailsSource = "user_action"
const FundingEventSummaryItemV1DataStatusDetailsSourceSystem FundingEventSummaryItemV1DataStatusDetailsSource = "system"
Code stringoptional

The status code if applicable.

TraceNumber stringoptional

The trace number of the funding event.

Metadata about the API request, including an identifier and timestamp.

APIRequestID string

Unique identifier for this API request, useful for troubleshooting.

formatuuid
APIRequestTimestamp Time

Timestamp for this API request, useful for troubleshooting.

formatdate-time
ResponseType FundingEventSummaryItemV1ResponseType

Indicates the structure of the returned content.

  • "object" means the data field contains a single JSON object.
  • "array" means the data field contains an array of objects.
  • "error" means the data field contains an error object with details of the issue.
  • "none" means no data is returned.
One of the following:
const FundingEventSummaryItemV1ResponseTypeObject FundingEventSummaryItemV1ResponseType = "object"
const FundingEventSummaryItemV1ResponseTypeArray FundingEventSummaryItemV1ResponseType = "array"
const FundingEventSummaryItemV1ResponseTypeError FundingEventSummaryItemV1ResponseType = "error"
const FundingEventSummaryItemV1ResponseTypeNone FundingEventSummaryItemV1ResponseType = "none"
type FundingEventSummaryPagedV1 struct{…}
Data []FundingEventSummaryPagedV1Data
ID string

Unique identifier for the funding event.

formatuuid
Amount int64

The amount of the funding event in cents.

formatint32
CreatedAt Time

Created at.

formatdate-time
Direction string

Describes the direction of the funding event from the perspective of the linked_bank_account.

One of the following:
const FundingEventSummaryPagedV1DataDirectionDeposit FundingEventSummaryPagedV1DataDirection = "deposit"
const FundingEventSummaryPagedV1DataDirectionWithdrawal FundingEventSummaryPagedV1DataDirection = "withdrawal"
EventType string

The funding event types describes the direction and reason for the funding event.

One of the following:
const FundingEventSummaryPagedV1DataEventTypeChargeDeposit FundingEventSummaryPagedV1DataEventType = "charge_deposit"
const FundingEventSummaryPagedV1DataEventTypeChargeReversal FundingEventSummaryPagedV1DataEventType = "charge_reversal"
const FundingEventSummaryPagedV1DataEventTypePayoutReturn FundingEventSummaryPagedV1DataEventType = "payout_return"
const FundingEventSummaryPagedV1DataEventTypePayoutWithdrawal FundingEventSummaryPagedV1DataEventType = "payout_withdrawal"
PaymentCount int64

The number of payments associated with the funding event.

formatint32
TraceIDs map[string, string]

Trace Ids.

TraceNumbers []string

Trace number.

TransferDate Time

The date on which the funding event occurred. For deposits and returns, this is the date the funds were credited to your bank account. For withdrawals and reversals, this is the date the funds were debited from your bank account.

formatdate
UpdatedAt Time

Updated at.

formatdate-time
Status stringoptional

The current status of the charge or payout.

One of the following:
const FundingEventSummaryPagedV1DataStatusCreated FundingEventSummaryPagedV1DataStatus = "created"
const FundingEventSummaryPagedV1DataStatusScheduled FundingEventSummaryPagedV1DataStatus = "scheduled"
const FundingEventSummaryPagedV1DataStatusFailed FundingEventSummaryPagedV1DataStatus = "failed"
const FundingEventSummaryPagedV1DataStatusCancelled FundingEventSummaryPagedV1DataStatus = "cancelled"
const FundingEventSummaryPagedV1DataStatusOnHold FundingEventSummaryPagedV1DataStatus = "on_hold"
const FundingEventSummaryPagedV1DataStatusPending FundingEventSummaryPagedV1DataStatus = "pending"
const FundingEventSummaryPagedV1DataStatusPaid FundingEventSummaryPagedV1DataStatus = "paid"
const FundingEventSummaryPagedV1DataStatusReversed FundingEventSummaryPagedV1DataStatus = "reversed"
const FundingEventSummaryPagedV1DataStatusValidating FundingEventSummaryPagedV1DataStatus = "validating"
StatusDetails FundingEventSummaryPagedV1DataStatusDetailsoptional
ChangedAt Time

The time the status change occurred.

formatdate-time
Message string

A human-readable description of the current status.

Reason string
One of the following:
const FundingEventSummaryPagedV1DataStatusDetailsReasonInsufficientFunds FundingEventSummaryPagedV1DataStatusDetailsReason = "insufficient_funds"
const FundingEventSummaryPagedV1DataStatusDetailsReasonClosedBankAccount FundingEventSummaryPagedV1DataStatusDetailsReason = "closed_bank_account"
const FundingEventSummaryPagedV1DataStatusDetailsReasonInvalidBankAccount FundingEventSummaryPagedV1DataStatusDetailsReason = "invalid_bank_account"
const FundingEventSummaryPagedV1DataStatusDetailsReasonInvalidRouting FundingEventSummaryPagedV1DataStatusDetailsReason = "invalid_routing"
const FundingEventSummaryPagedV1DataStatusDetailsReasonDisputed FundingEventSummaryPagedV1DataStatusDetailsReason = "disputed"
const FundingEventSummaryPagedV1DataStatusDetailsReasonPaymentStopped FundingEventSummaryPagedV1DataStatusDetailsReason = "payment_stopped"
const FundingEventSummaryPagedV1DataStatusDetailsReasonOwnerDeceased FundingEventSummaryPagedV1DataStatusDetailsReason = "owner_deceased"
const FundingEventSummaryPagedV1DataStatusDetailsReasonFrozenBankAccount FundingEventSummaryPagedV1DataStatusDetailsReason = "frozen_bank_account"
const FundingEventSummaryPagedV1DataStatusDetailsReasonRiskReview FundingEventSummaryPagedV1DataStatusDetailsReason = "risk_review"
const FundingEventSummaryPagedV1DataStatusDetailsReasonFraudulent FundingEventSummaryPagedV1DataStatusDetailsReason = "fraudulent"
const FundingEventSummaryPagedV1DataStatusDetailsReasonDuplicateEntry FundingEventSummaryPagedV1DataStatusDetailsReason = "duplicate_entry"
const FundingEventSummaryPagedV1DataStatusDetailsReasonInvalidPaykey FundingEventSummaryPagedV1DataStatusDetailsReason = "invalid_paykey"
const FundingEventSummaryPagedV1DataStatusDetailsReasonPaymentBlocked FundingEventSummaryPagedV1DataStatusDetailsReason = "payment_blocked"
const FundingEventSummaryPagedV1DataStatusDetailsReasonAmountTooLarge FundingEventSummaryPagedV1DataStatusDetailsReason = "amount_too_large"
const FundingEventSummaryPagedV1DataStatusDetailsReasonTooManyAttempts FundingEventSummaryPagedV1DataStatusDetailsReason = "too_many_attempts"
const FundingEventSummaryPagedV1DataStatusDetailsReasonInternalSystemError FundingEventSummaryPagedV1DataStatusDetailsReason = "internal_system_error"
const FundingEventSummaryPagedV1DataStatusDetailsReasonUserRequest FundingEventSummaryPagedV1DataStatusDetailsReason = "user_request"
const FundingEventSummaryPagedV1DataStatusDetailsReasonOk FundingEventSummaryPagedV1DataStatusDetailsReason = "ok"
const FundingEventSummaryPagedV1DataStatusDetailsReasonOtherNetworkReturn FundingEventSummaryPagedV1DataStatusDetailsReason = "other_network_return"
const FundingEventSummaryPagedV1DataStatusDetailsReasonPayoutRefused FundingEventSummaryPagedV1DataStatusDetailsReason = "payout_refused"
const FundingEventSummaryPagedV1DataStatusDetailsReasonCancelRequest FundingEventSummaryPagedV1DataStatusDetailsReason = "cancel_request"
const FundingEventSummaryPagedV1DataStatusDetailsReasonFailedVerification FundingEventSummaryPagedV1DataStatusDetailsReason = "failed_verification"
const FundingEventSummaryPagedV1DataStatusDetailsReasonRequireReview FundingEventSummaryPagedV1DataStatusDetailsReason = "require_review"
const FundingEventSummaryPagedV1DataStatusDetailsReasonBlockedBySystem FundingEventSummaryPagedV1DataStatusDetailsReason = "blocked_by_system"
const FundingEventSummaryPagedV1DataStatusDetailsReasonWatchtowerReview FundingEventSummaryPagedV1DataStatusDetailsReason = "watchtower_review"
const FundingEventSummaryPagedV1DataStatusDetailsReasonValidating FundingEventSummaryPagedV1DataStatusDetailsReason = "validating"
const FundingEventSummaryPagedV1DataStatusDetailsReasonAutoHold FundingEventSummaryPagedV1DataStatusDetailsReason = "auto_hold"
Source string
One of the following:
const FundingEventSummaryPagedV1DataStatusDetailsSourceWatchtower FundingEventSummaryPagedV1DataStatusDetailsSource = "watchtower"
const FundingEventSummaryPagedV1DataStatusDetailsSourceBankDecline FundingEventSummaryPagedV1DataStatusDetailsSource = "bank_decline"
const FundingEventSummaryPagedV1DataStatusDetailsSourceCustomerDispute FundingEventSummaryPagedV1DataStatusDetailsSource = "customer_dispute"
const FundingEventSummaryPagedV1DataStatusDetailsSourceUserAction FundingEventSummaryPagedV1DataStatusDetailsSource = "user_action"
const FundingEventSummaryPagedV1DataStatusDetailsSourceSystem FundingEventSummaryPagedV1DataStatusDetailsSource = "system"
Code stringoptional

The status code if applicable.

TraceNumber stringoptional

The trace number of the funding event.

Meta FundingEventSummaryPagedV1Meta
APIRequestID string

Unique identifier for this API request, useful for troubleshooting.

formatuuid
APIRequestTimestamp Time

Timestamp for this API request, useful for troubleshooting.

formatdate-time
MaxPageSize int64

Maximum allowed page size for this endpoint.

formatint32
PageNumber int64

Page number for paginated results.

formatint32
PageSize int64

Number of items per page in this response.

formatint32
SortBy string

The field that the results were sorted by.

SortOrder string
One of the following:
const FundingEventSummaryPagedV1MetaSortOrderAsc FundingEventSummaryPagedV1MetaSortOrder = "asc"
const FundingEventSummaryPagedV1MetaSortOrderDesc FundingEventSummaryPagedV1MetaSortOrder = "desc"
TotalItems int64
TotalPages int64

The number of pages available.

formatint32
ResponseType FundingEventSummaryPagedV1ResponseType

Indicates the structure of the returned content.

  • "object" means the data field contains a single JSON object.
  • "array" means the data field contains an array of objects.
  • "error" means the data field contains an error object with details of the issue.
  • "none" means no data is returned.
One of the following:
const FundingEventSummaryPagedV1ResponseTypeObject FundingEventSummaryPagedV1ResponseType = "object"
const FundingEventSummaryPagedV1ResponseTypeArray FundingEventSummaryPagedV1ResponseType = "array"
const FundingEventSummaryPagedV1ResponseTypeError FundingEventSummaryPagedV1ResponseType = "error"
const FundingEventSummaryPagedV1ResponseTypeNone FundingEventSummaryPagedV1ResponseType = "none"