Why this exists
Card-network rails expect an account to draw from. For a crypto-funded card that account is an on-chain wallet, but partners need a stable Sumvin handle on it: which wallet backs which card, what’s in it, how to top it up, where to look at recent activity. The funding wallet binding gives partners that handle without forcing them to track the relationship between an issued card and its on-chain backing themselves.How it works
Every card record has alinked_wallet_id pointing at a UserWallet row. That wallet is a Safe (the user’s is_eoa=false wallet) on the same chain as the card. Sumvin returns the Safe’s address on every card response as linked_wallet_address, and exposes a dedicated funding endpoint for richer detail and updates.
Launch chain
Sei (chain ID1329) is the launch chain for cards. The Safe that backs a card is deployed on Sei, and balances surface in the card’s funding response from there. Multi-chain card backing is not exposed today — a card has exactly one funding wallet on one chain.
Funding the wallet
A partner funds a card by sending value to the funding wallet’s address. The wallet is a normal Safe — anything that can transfer to a Safe address (an on-ramp, a DEX, a transfer from another wallet) can fund the card. There is no Sumvin-side “deposit” call. Once value lands on-chain at the Safe address, it’s available as funding. The Meld ramps product is the supported on-ramp path for converting fiat into the funding wallet’s chain assets.Endpoints
Two endpoints expose the funding binding directly. Both use standard Juno JWT auth (x-juno-jwt).
Get card funding
GET /v0/cards/{card_id}/funding
Returns the funding configuration for a card — currently the linked wallet’s address and a configured flag indicating whether the card has a funding wallet linked at all.
200 OK
External card ID.
Address of the Safe backing the card.
null if no wallet is linked.Whether a funding wallet is currently linked to the card.
Funding source type. Reserved — not yet populated by the read endpoint.
Linked fiat account ID. Reserved for future fiat funding sources.
_links block is the canonical entry point for everything you’d want to do with the funding wallet — read its assets, list its transactions, or pull recent card transactions filtered to it.
Update card funding
PUT /v0/cards/{card_id}/funding
Accepts a funding source declaration. The endpoint exists and validates the request, but the persistence and switching logic for changing a card’s funding source is not yet wired through. The response includes a message: "Funding configuration coming soon" indicator and configured: false.
The accepted request shape:
One of
wallet or fiat.Required when
source_type is wallet. The address of an existing user wallet to use as the funding source.Required when
source_type is wallet. Must match the chain of the wallet at wallet_address.Reserved for
source_type=fiat.Reading balance and activity
The funding response surfaces HAL links into the wallets and transactions APIs. The two most useful flows: Current balance?wallet_id={wallet_id} to filter by the funding wallet directly.
Errors
Funding endpoints reuse the card error codes. See Card management API → Errors for the full list. The two you’ll see at this surface:| Code | Status | Meaning |
|---|---|---|
CRD-404-001 | 404 | Card not found |
CRD-403-001 | 403 | Card belongs to a different user |
Related
- Card issuing overview
- Card management API
- Wallets guide — Safe creation, chain selection, balances
- Safes and identity — why a Safe and not an EOA
- Meld ramps — supported on-ramp into the funding wallet
- Funding wallet (glossary)
- Issue a card quickstart
- Crypto wallet card use case