Dave ExtraCash、Spending 与 Flex 接口
Dave: Credit, Cash & Money App 是 Dave Inc. 面向美国消费者的金融客户端,提供按即将到账工资支取的 ExtraCash 垫款、带借记卡的 Dave Spending 支票账户、Goals 储蓄信封、Flex 消费额度和 Dave Rent。用户在 Android 上登录,连接外部银行或工资,把 ExtraCash 打进 Spending 或外部借记卡,把钱转入 Goals,并可在租金到期窗口拆分房租。应用面向发薪日到发薪日、否则只能用发薪日贷款或透支的美国用户,与 Earnin、Brigit、MoneyLion、Albert、Possible Finance 争夺同一现金垫款与新型银行市场。Dave Inc. 是美国上市金融科技公司(纳斯达克:DAVE);存款放在 Coastal Community Bank 等合作银行,ExtraCash 是压在 Spending 账户之上的主打产品。
ExtraCash 的 overdraftApprovals 按关联 bankAccountId 盖上 maxApprovedAmount,同一张审批卡还带 approvedRechargeAmount 与可选的 nextOverdraftOfferAmount。条款询价补上 serviceFee、settleableAmount 与 settlementDate,放款后返回 disbursementId;费用带落在 OVERDRAFT_FEE / EXPRESS_FEE 的 feeAmount 上。
Dave Spending 账户给出 currentBalance、accountNumber 与 routingNumber,再按 amount 与 settledAt 分页 settledTransactions。Goals 信封对比每个目标的 currentBalance 与 targetAmount。Flex 额度报告 spendingPower、totalOwed 与 principalOwed;工资快照带 avgPaycheckAmount 与 nextPayrollDates,外部银行则给出 Plaid 的 available / current。核额回放、流水对账与 Flex 监控都吃这些对象;openData Studio 把它们变成可调用的开放数据。
应用截图
API 端点一览
以下端点与请求/响应示例均依据应用界面推导重构,为示意说明,并非实际抓包。
刷新会话访问令牌
POST
/v1/session/refreshosint用已存的 refreshToken 换取短期 accessToken,后续每次调用都以 Bearer 携带。
认证方式: 尚无 Bearer:请求体携带长期 refreshToken,响应返回短期 accessToken,后续调用以 Authorization: Bearer 携带。
- refreshToken
- accessToken
POST /v1/session/refresh HTTP/1.1 Content-Type: application/json { "refreshToken": "<refreshToken>" }{ "accessToken": "<accessToken>" }读取 ExtraCash 审批额度
POST
/v1/extracash/approvals/lookupopenfinance加载已登录会员的 ExtraCash 审批:maxApprovedAmount、approvalType、bankAccountId 以及可选的升级额度(nextOverdraftOfferAmount)。
认证方式: Authorization: Bearer,令牌由会话刷新调用签发。邮箱、MFA、密码或证件核验等升级挑战须先通过登录挑战流程完成。
- overdraftApprovals
- approvalId
- approvalUlid
- approved
- approvalType
- maxApprovedAmount
- initialApprovedAmount
- totalApprovedAmount
- approvedRechargeAmount
- approvedAmounts
- bankAccountId
- expirationDate
- isSplitDraw
- quality
- primaryRejectionReason
- nextOverdraftOfferAmount
- previousOverdraftOfferAmount
POST /v1/extracash/approvals/lookup HTTP/1.1 Authorization: Bearer <accessToken> Content-Type: application/json {}{ "overdraftApprovals": [ { "approvalId": "apr_4412", "approvalUlid": "01J8APPROVALULID", "approved": true, "approvalType": "EXTRA_CASH", "maxApprovedAmount": 25000, "initialApprovedAmount": 10000, "totalApprovedAmount": 25000, "approvedRechargeAmount": 5000, "approvedAmounts": [ 10000, 15000, 25000 ], "bankAccountId": "ba_88c1", "expirationDate": "2026-10-31", "isSplitDraw": false, "quality": "STANDARD", "primaryRejectionReason": null, "upgrade": { "nextOverdraftOfferAmount": 30000, "previousOverdraftOfferAmount": 25000, "version": 3 } } ] }询价 ExtraCash 条款
POST
/v1/extracash/terms/quoteopenfinance在确认前为一笔 ExtraCash 支取定价:requestedAmount、serviceFee、settleableAmount、settlementDate 以及所选 disbursementMethod(lastFour)。
认证方式: Authorization: Bearer,令牌由会话刷新调用签发。邮箱、MFA、密码或证件核验等升级挑战须先通过登录挑战流程完成。
- termsId
- requestedAmount
- overdraftAmount
- serviceFee
- settleableAmount
- settlementDate
- settlementStrategy
- earlyPayday
- disbursementMethod
- universalId
- displayName
- lastFour
- expressFee
- feeType
POST /v1/extracash/terms/quote HTTP/1.1 Authorization: Bearer <accessToken> Content-Type: application/json { "requestedAmount": 15000, "disbursementMethod": { "universalId": "pm_dave_1" }, "expressDelivery": false }{ "termsId": "terms_77a1", "requestedAmount": 15000, "overdraftAmount": 15000, "serviceFee": 395, "settleableAmount": 15395, "settlementDate": "2026-10-24", "settlementStrategy": "PAYDAY", "earlyPayday": false, "disbursementMethod": { "universalId": "pm_dave_1", "displayName": "Dave Spending", "lastFour": "4412", "type": "DAVE", "isDefault": true, "isValid": true }, "expressFee": { "type": "EXPRESS", "amount": 299, "percent": 0, "feeType": "FLAT" } }发起 ExtraCash 放款
POST
/v1/extracash/disbursementsopenfinance会员确认报价条款后记账 ExtraCash 垫款,返回垫款 id 与 disbursementId。
认证方式: Authorization: Bearer,令牌由会话刷新调用签发。邮箱、MFA、密码或证件核验等升级挑战须先通过登录挑战流程完成。
- id
- disbursementId
POST /v1/extracash/disbursements HTTP/1.1 Authorization: Bearer <accessToken> Content-Type: application/json { "termsId": "terms_77a1" }{ "id": "od_19f2", "disbursementId": "disb_55c0" }列出 ExtraCash 交易流水
POST
/v1/extracash/activity/listopenbanking列出会员 ExtraCash 账户的流水行(amount、date、description、type),涵盖放款与结算。
认证方式: Authorization: Bearer,令牌由会话刷新调用签发。邮箱、MFA、密码或证件核验等升级挑战须先通过登录挑战流程完成。
- overdraftAccount
- id
- transactionActivity
- amount
- date
- description
- type
POST /v1/extracash/activity/list HTTP/1.1 Authorization: Bearer <accessToken> Content-Type: application/json {}{ "overdraftAccount": { "id": "odacct_1", "transactionActivity": [ { "amount": 15000, "date": "2026-10-17", "description": "ExtraCash", "type": "DISBURSEMENT" }, { "amount": -15395, "date": "2026-10-24", "description": "ExtraCash settlement", "type": "SETTLEMENT" } ] } }读取 ExtraCash 费用表
POST
/v1/extracash/fees/lookupopenfinance读取会员的 ExtraCash 费用表:feeStructure 与 feeVersion,以及按通道的 OVERDRAFT_FEE、SERVICE_FEE、EXPRESS_FEE、TRANSFER_FEE 区间(minAmount、maxAmount、feeAmount)。
认证方式: Authorization: Bearer,令牌由会话刷新调用签发。邮箱、MFA、密码或证件核验等升级挑战须先通过登录挑战流程完成。
- overdraftFees
- feeStructure
- feeVersion
- startFeeVersion
- OVERDRAFT_FEE
- SERVICE_FEE
- EXPRESS_FEE
- TRANSFER_FEE
- minAmount
- maxAmount
- feeAmount
- amountType
POST /v1/extracash/fees/lookup HTTP/1.1 Authorization: Bearer <accessToken> Content-Type: application/json {}{ "overdraftFees": { "feeStructure": "TIERED", "feeVersion": 12, "startFeeVersion": 10, "fees": { "DAVE": { "OVERDRAFT_FEE": { "minAmount": 0, "maxAmount": 25000, "feeAmount": 395, "amountType": "FLAT" }, "SERVICE_FEE": { "minAmount": 0, "maxAmount": 25000, "feeAmount": 0, "amountType": "FLAT" }, "EXPRESS_FEE": { "minAmount": 0, "maxAmount": 25000, "feeAmount": 299, "amountType": "FLAT" }, "TRANSFER_FEE": { "minAmount": 0, "maxAmount": 25000, "feeAmount": 0, "amountType": "FLAT" } } } } }读取 Dave Spending 账户
POST
/v1/spending/account/lookupopenbanking返回 Dave Spending 支票账户:currentBalance、accountNumber、routingNumber、status 与 sponsorBank。
认证方式: Authorization: Bearer,令牌由会话刷新调用签发。邮箱、MFA、密码或证件核验等升级挑战须先通过登录挑战流程完成。
- spendAccount
- id
- status
- accountNumber
- routingNumber
- productCategory
- currentBalance
- platform
- sponsorBank
POST /v1/spending/account/lookup HTTP/1.1 Authorization: Bearer <accessToken> Content-Type: application/json {}{ "spendAccount": { "id": "spend_4412", "status": "ACTIVE", "accountNumber": "000123456789", "routingNumber": "000111222", "productCategory": "CHECKING", "currentBalance": 18452, "platform": "ANDROID", "sponsorBank": "COASTAL" } }分页已结算 Spending 流水
POST
/v1/spending/transactions/settled/listopenbanking分页 Spending 账户的已结算交易:pageInfo 以及含 amount、displayName、transactedAt、settledAt 的 nodes。
认证方式: Authorization: Bearer,令牌由会话刷新调用签发。邮箱、MFA、密码或证件核验等升级挑战须先通过登录挑战流程完成。
- settledTransactions
- pageInfo
- pageSize
- nextPage
- hasNextPage
- nodes
- id
- displayName
- amount
- transactedAt
- transactionType
- statementSummaryType
- settledAt
- source
POST /v1/spending/transactions/settled/list HTTP/1.1 Authorization: Bearer <accessToken> Content-Type: application/json { "first": 25, "after": null }{ "settledTransactions": { "pageInfo": { "pageSize": 25, "nextPage": "cursor_2", "hasNextPage": true }, "nodes": [ { "id": "txn_9001", "displayName": "Payroll", "amount": 84200, "transactedAt": "2026-10-16T14:02:11Z", "transactionType": "ACH_CREDIT", "statementSummaryType": "DEPOSIT", "settledAt": "2026-10-16T18:00:00Z", "source": "ACH" } ] } }列出 Spending 借记卡
POST
/v1/spending/cards/listopenbanking列出 Spending 账户的借记卡:lastFour、bin、isVirtual、status 与 shippingStatus。
认证方式: Authorization: Bearer,令牌由会话刷新调用签发。邮箱、MFA、密码或证件核验等升级挑战须先通过登录挑战流程完成。
- cards
- id
- bankAccountId
- bin
- lastFour
- status
- isVirtual
- isPinLocked
- isDisabled
- isExpiring
- estimatedArrivalOn
- shippingStatus
- cardProducts
POST /v1/spending/cards/list HTTP/1.1 Authorization: Bearer <accessToken> Content-Type: application/json {}{ "id": "spend_4412", "cards": [ { "id": "card_12ab", "bankAccountId": "spend_4412", "bin": "412345", "lastFour": "4412", "status": "ACTIVE", "isVirtual": false, "isPinLocked": false, "isDisabled": false, "isExpiring": false, "estimatedArrivalOn": "2026-10-22", "shippingStatus": { "status": "SHIPPED", "shippedDate": "2026-10-14", "isReturnedToSender": false } } ], "cardProducts": [ "PHYSICAL", "VIRTUAL" ] }读取 Goals 账户总览
POST
/v1/goals/overviewopenbanking加载 Goals 总览:unallocatedAmount、remainingAvailableWithdrawals,以及每个目标的 currentBalance 与 targetAmount。
认证方式: Authorization: Bearer,令牌由会话刷新调用签发。邮箱、MFA、密码或证件核验等升级挑战须先通过登录挑战流程完成。
- goalsAccounts
- id
- accountId
- status
- unallocatedAmount
- sponsorBank
- remainingAvailableWithdrawals
- isRoundUpEnabled
- roundUpGoalId
- goals
- name
- currentBalance
- targetAmount
- goalStatus
POST /v1/goals/overview HTTP/1.1 Authorization: Bearer <accessToken> Content-Type: application/json {}{ "goalsAccounts": [ { "id": "gacct_1", "accountId": "goal_bank_1", "status": "ACTIVE", "unallocatedAmount": 2500, "sponsorBank": "COASTAL", "remainingAvailableWithdrawals": 4, "isRoundUpEnabled": true, "roundUpGoalId": "goal_roundup", "goals": [ { "id": "goal_rent", "name": "Rent", "currentBalance": 42000, "targetAmount": 120000, "goalStatus": "OPEN", "isRoundUpGoal": false } ] } ] }读取 Flex 信用额度
POST
/v1/flex/credit-line/lookupopenfinance读取 Flex 循环额度:spendingPower、totalOwed、principalOwed、feesOwed 以及 receivables 还款计划(dueDate、amount)。
认证方式: Authorization: Bearer,令牌由会话刷新调用签发。邮箱、MFA、密码或证件核验等升级挑战须先通过登录挑战流程完成。
- flexCardLineOfCredit
- spendingPower
- totalOwed
- principalOwed
- feesOwed
- pendingPurchasesTotal
- approvalAmount
- isApproved
- receivables
- dueDate
- principalAmount
- interestFeeAmount
- participationFeeAmount
- hasDispute
- totalDisputedBalance
POST /v1/flex/credit-line/lookup HTTP/1.1 Authorization: Bearer <accessToken> Content-Type: application/json {}{ "flexCardLineOfCredit": { "spendingPower": 17500, "totalOwed": 8250, "principalOwed": 7800, "feesOwed": 450, "pendingPurchasesTotal": 1200, "approval": { "id": "flexapr_9", "approvalAmount": 25000, "isApproved": true }, "receivables": [ { "dueDate": "2026-11-01", "amount": 8250, "principalAmount": 7800, "interestFeeAmount": 250, "participationFeeAmount": 200 } ], "disputes": { "hasDispute": false, "totalDisputedBalance": 0 } } }读取工资收入快照
POST
/v1/income/payroll/snapshotopenfinance返回用于核定 ExtraCash 的工资快照:employerName、avgPaycheckAmount、paySchedule、lastPaycheckDate 与 nextPayrollDates。
认证方式: Authorization: Bearer,令牌由会话刷新调用签发。邮箱、MFA、密码或证件核验等升级挑战须先通过登录挑战流程完成。
- payrollData
- isPayrollConnected
- isEmployed
- employerName
- avgPaycheckAmount
- lastPaycheckDate
- paySchedule
- expectedPaycheckAmount
- nextPayrollDates
- canPayrollBeCalculated
- isPaystubDataAvailable
POST /v1/income/payroll/snapshot HTTP/1.1 Authorization: Bearer <accessToken> Content-Type: application/json {}{ "payrollData": { "isPayrollConnected": true, "isEmployed": true, "employerName": "Acme Logistics", "avgPaycheckAmount": 84200, "lastPaycheckDate": "2026-10-10", "paySchedule": "BIWEEKLY", "expectedPaycheckAmount": 85000, "nextPayrollDates": [ "2026-10-24", "2026-11-07" ], "canPayrollBeCalculated": true, "isPaystubDataAvailable": true } }列出已连接的外部银行账户
POST
/v1/linked-accounts/listopenbanking列出会员已连接的外部银行账户:available 与 current 余额、lastFour、verificationStatus 以及聚合连接(bankingDataSource)。
认证方式: Authorization: Bearer,令牌由会话刷新调用签发。邮箱、MFA、密码或证件核验等升级挑战须先通过登录挑战流程完成。
- bdsBankAccounts
- id
- legacyId
- available
- current
- lastFour
- verificationStatus
- displayName
- bankingDataSource
- hasValidCredentials
- hasReceivedTransactions
POST /v1/linked-accounts/list HTTP/1.1 Authorization: Bearer <accessToken> Content-Type: application/json { "filterType": "ALL" }{ "bdsBankAccounts": [ { "id": "bds_88c1", "legacyId": "legacy_12", "available": 41233, "current": 43010, "lastFour": "0091", "verificationStatus": "VERIFIED", "displayName": "Checking", "institution": { "displayName": "Example Bank" }, "bankConnection": { "bankingDataSource": "PLAID", "hasReceivedTransactions": true, "hasValidCredentials": true, "deleted": false } } ] }读取 Dave Rent 账户
POST
/v1/rent/account/lookupopenfinance返回 Dave Rent 账户:balance、账号与路由号、feeSchedule.participationFee 以及当前 rentCycle(totalRentAmount、overdraftLimit)。
认证方式: Authorization: Bearer,令牌由会话刷新调用签发。邮箱、MFA、密码或证件核验等升级挑战须先通过登录挑战流程完成。
- rentAccount
- id
- status
- balance
- accountNumber
- routingNumber
- accountType
- partnerBank
- feePercentage
- participationFee
- rentDueDate
- totalRentAmount
- overdraftLimit
- estimatedSettlementAmount
- maxBalanceLimit
POST /v1/rent/account/lookup HTTP/1.1 Authorization: Bearer <accessToken> Content-Type: application/json {}{ "rentAccount": { "id": "rent_3", "status": "ACTIVE", "balance": 60000, "accountNumber": "000987654321", "routingNumber": "000111222", "accountType": "RENT", "partnerBank": "COASTAL", "feeSchedule": { "feePercentage": 5.0, "participationFee": 500 }, "rentCycle": { "status": "OPEN", "rentDueDate": "2026-11-01", "rentWindowStart": "2026-10-25", "rentWindowEnd": "2026-11-01", "totalRentAmount": 145000, "overdraftLimit": 50000, "estimatedSettlementAmount": 85000 }, "transferLimits": { "maxDepositAmountPerTransfer": 200000, "maxWithdrawalAmountPerTransfer": 200000, "maxBalanceLimit": 250000 } } }签发 Pinwheel 工资连接令牌
POST
/v1/payroll/link-tokensopenfinance签发短期工资连接令牌(id、token、expires),让应用能打开第三方工资连接组件并把工资关联到 bankAccountId。
认证方式: Authorization: Bearer,令牌由会话刷新调用签发。邮箱、MFA、密码或证件核验等升级挑战须先通过登录挑战流程完成。
- pinwheelLinkToken
- id
- expires
- token
- bankAccountId
POST /v1/payroll/link-tokens HTTP/1.1 Authorization: Bearer <accessToken> Content-Type: application/json { "bankAccountId": "spend_4412" }{ "pinwheelLinkToken": { "id": "pw_tok_18", "expires": "2026-10-17T16:30:00Z", "token": "<linkToken>" } }读取直接存款分配
POST
/v1/direct-deposit/allocation/lookupopenbanking读取 Spending 账户的直接存款分配:ddAllocationAmount、bankAccountId、employerName 与 isPayrollConnected。
认证方式: Authorization: Bearer,令牌由会话刷新调用签发。邮箱、MFA、密码或证件核验等升级挑战须先通过登录挑战流程完成。
- ddAllocationData
- ddAllocationAmount
- ddAllocationCreationDate
- bankAccountId
- isEmployed
- employerName
- isPayrollConnected
POST /v1/direct-deposit/allocation/lookup HTTP/1.1 Authorization: Bearer <accessToken> Content-Type: application/json { "accountType": "SPEND" }{ "ddAllocationData": { "ddAllocationAmount": 50000, "ddAllocationCreationDate": "2026-09-02", "bankAccountId": "spend_4412", "isEmployed": true, "employerName": "Acme Logistics", "isPayrollConnected": true } }
数据类别
- 垫款
- 余额
- 交易流水
- 外部账户
- 收入
- 储蓄目标
- 信用额度
- 房租
- 借记卡
- 费用
- 直接存款
数据使用场景与案例
ExtraCash 核额回放
放贷或理财教练拉取 overdraftApprovals.maxApprovedAmount,叠加工资 payrollData.avgPaycheckAmount、paySchedule 与 nextPayrollDates,再对照 OverdraftTermsSuccess.serviceFee,按文档化收入而不是截图核定垫款。
Spending 流水对账
记账机器人读取 SpendAccount.currentBalance、accountNumber 与 routingNumber,再分页 settledTransactions 的 nodes(amount、displayName、transactedAt、settledAt),把工资入账与刷卡支出对到外部总账。
Flex 额度监控
催收或预算工具订阅 FlexCardLineOfCredit.spendingPower、totalOwed、principalOwed 与 receivables.dueDate,家庭无需打开卡片页也能看到剩余消费力与下一期 Flex 还款。
直接存款与外部银行核验
入驻流程确认 bdsBankAccounts.available/current 与 verificationStatus,再读 ddAllocationData.ddAllocationAmount 和 pinwheelLinkToken,证明工资已指向 Dave Spending 账户。
常见问题
能读到哪些 ExtraCash 字段?
GetApprovals 返回 overdraftApprovals 的 maxApprovedAmount、approvalType、bankAccountId 与 approvedRechargeAmount。OverdraftTerms 补充 requestedAmount、serviceFee、settleableAmount 与 settlementDate;GetFees 列出 OVERDRAFT_FEE 与 EXPRESS_FEE 区间;GetOverdraftTransactions 分页 amount、date、description 与 type。
除了垫款,Dave 有支票流水吗?
有。GetSpendAccount 返回 SpendAccount.currentBalance、accountNumber、routingNumber 与 sponsorBank。GetSettledTransactions 分页 settledTransactions 的 nodes(amount、displayName、transactedAt、settledAt),GetCards 列出借记卡 lastFour、bin 与 shippingStatus。
这些调用如何鉴权?
refreshUserAccess 用 refreshToken 换 RefreshUserAccessSuccessResult.accessToken,后续 GraphQL 调用以 Authorization: Bearer 携带。登录挑战走 initSessionAuthorizationStrategy 与 submitSessionAuthorizationChallenge(邮箱、MFA、密码或证件核验的 nextChallengeType)。
Flex 和 ExtraCash 是同一条额度吗?
不是。GetFlexCardLineOfCredit 读取 FlexCardLineOfCredit 的 spendingPower、totalOwed、principalOwed、feesOwed 与 receivables.dueDate——这是循环的 Flex 卡额度,有别于 ExtraCash 的 overdraftApprovals.maxApprovedAmount。
与 Dave: Credit, Cash & Money App 相似的应用
- EarnIn — EarnIn 是美国的已赚工资提前支取应用,用户可在发薪日前通过 Cash Out 支取已经挣到的工资,无利息、无信用审查、无强制费用,每日最高 200 美元、每个发薪周期最高 1,000 美元。
- Brigit — Brigit 是美国的现金垫款与信用建立应用,提供 25–500 美元的 Instant Cash 垫款,无需信用审查、不收滞纳金,并带有透支预警和信用监测。
- MoneyLion — MoneyLion 的 Instacash 最高可垫 500 美元,无利息、无信用审查、无强制费用,标准到账 1–5 个工作日免费,也可选付费即时 Turbo 到账;向 MoneyLion Spend 账户存入符合条件的直接存款还可提高额度。
- Possible Finance — Possible Advance 是美国面向下一笔工资的现金垫款,最高 300 美元,不收滞纳金、不做信用审查,同时还有最高 500 美元、可分期偿还的 Possible 贷款。
- FloatMe — FloatMe 是美国现金垫款应用,提供最高 200 美元、无利息、无信用审查、无滞纳金的 Float,在下一个发薪日偿还,并在月费会员里附带预算和信用监测工具。
- Current — Current 是美国新型银行应用,符合条件且工资入账不少于 200 美元的会员可通过 Paycheck Advance,在无信用审查的情况下相对下一笔工资最多支取 1,000 美元。
- Chime — Chime MyPay 是面向已开通直接存款的合格 Chime 支票账户会员的已赚工资提前支取功能,每个发薪周期可垫 20–500 美元、不收利息,只有选择加速到账时才收取 2 美元。
- Klover — Klover 是美国现金垫款应用,用户绑定银行账户后可在无信用审查、无利息、无滞纳金的情况下支取垫款,并提供预算工具和可提高垫款额度的积分。
相关主题
- dave extracash api
- dave spending 账户
- dave flex 卡
- maxApprovedAmount
- currentBalance
- spendingPower
- dave 垫款
- dave 工资
需要集成这个 App 的数据 API?
我们可为任意指定 App 交付定制集成——源码交付 USD 500 起,或托管 API 按调用计费。告诉我们您需要的数据即可。
- 每个项目均签 NDA 与 SOW
- 3–7 天交付
- 验收通过后才付款
- 仅在授权范围内作业