curl --request GET \
--url https://sandbox-api.polygon.technology/v0.13/cash-ins \
--header 'Authorization: Bearer <token>'import requests
url = "https://sandbox-api.polygon.technology/v0.13/cash-ins"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://sandbox-api.polygon.technology/v0.13/cash-ins', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://sandbox-api.polygon.technology/v0.13/cash-ins",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://sandbox-api.polygon.technology/v0.13/cash-ins"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://sandbox-api.polygon.technology/v0.13/cash-ins")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox-api.polygon.technology/v0.13/cash-ins")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "ci_44vxe2xk8gfsjehfcw3npt5bg8",
"status": "pending",
"customer": {
"id": "cst_vfa0nxw6zvyws9g237jrxn4y7k"
},
"source": {
"type": "cash",
"asset": "usd",
"details": {
"locationId": "loc_01H9Xd",
"locationName": "CVS Pharmacy #4521",
"locationAddress": {
"line1": "123 Main St",
"city": "San Francisco",
"state": "CA",
"zipCode": "94105",
"country": "US"
},
"locationProvider": "greendot"
}
},
"destination": {
"type": "walletCrypto",
"id": "wlt_5h4jzzpr9xre3bamd9ca7qyghn",
"asset": "usdc",
"network": "polygon",
"details": {
"address": "0x7b3a9f2c4d1ea8bf6390ce5d2b7fa104c8e3d9b1"
}
},
"pricing": {
"source": {
"asset": "usd",
"amount": "200.00"
},
"destination": {
"asset": "usdc",
"amount": "200.000000"
},
"fees": [],
"exchangeRate": "1.0000",
"fixedAmountSide": "source",
"sponsorGas": true
},
"depositInstructions": {
"cashInCode": "483 291"
},
"expiresAt": "2026-05-15T18:32:48Z",
"createdAt": "2026-05-15T17:32:48Z",
"updatedAt": "2026-05-15T17:32:48Z"
}
],
"hasMore": true,
"nextCursor": "<string>"
}{
"error": "InvalidCustomerID",
"code": 10000,
"msg": "invalid customer_id",
"cause": "<string>"
}{
"error": "Unauthorized",
"code": 1000,
"msg": "unauthorized access",
"cause": "<string>"
}{
"error": "Internal",
"code": 10124,
"msg": "internal error",
"cause": "<string>"
}List cash-ins
Returns a paginated list of cash-ins, optionally filtered by customer, status, type, date range, or free-text search. Results are ordered newest-first. Date filters createdAfter and createdBefore are inclusive, matching GET /transactions.
curl --request GET \
--url https://sandbox-api.polygon.technology/v0.13/cash-ins \
--header 'Authorization: Bearer <token>'import requests
url = "https://sandbox-api.polygon.technology/v0.13/cash-ins"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://sandbox-api.polygon.technology/v0.13/cash-ins', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://sandbox-api.polygon.technology/v0.13/cash-ins",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://sandbox-api.polygon.technology/v0.13/cash-ins"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://sandbox-api.polygon.technology/v0.13/cash-ins")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox-api.polygon.technology/v0.13/cash-ins")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "ci_44vxe2xk8gfsjehfcw3npt5bg8",
"status": "pending",
"customer": {
"id": "cst_vfa0nxw6zvyws9g237jrxn4y7k"
},
"source": {
"type": "cash",
"asset": "usd",
"details": {
"locationId": "loc_01H9Xd",
"locationName": "CVS Pharmacy #4521",
"locationAddress": {
"line1": "123 Main St",
"city": "San Francisco",
"state": "CA",
"zipCode": "94105",
"country": "US"
},
"locationProvider": "greendot"
}
},
"destination": {
"type": "walletCrypto",
"id": "wlt_5h4jzzpr9xre3bamd9ca7qyghn",
"asset": "usdc",
"network": "polygon",
"details": {
"address": "0x7b3a9f2c4d1ea8bf6390ce5d2b7fa104c8e3d9b1"
}
},
"pricing": {
"source": {
"asset": "usd",
"amount": "200.00"
},
"destination": {
"asset": "usdc",
"amount": "200.000000"
},
"fees": [],
"exchangeRate": "1.0000",
"fixedAmountSide": "source",
"sponsorGas": true
},
"depositInstructions": {
"cashInCode": "483 291"
},
"expiresAt": "2026-05-15T18:32:48Z",
"createdAt": "2026-05-15T17:32:48Z",
"updatedAt": "2026-05-15T17:32:48Z"
}
],
"hasMore": true,
"nextCursor": "<string>"
}{
"error": "InvalidCustomerID",
"code": 10000,
"msg": "invalid customer_id",
"cause": "<string>"
}{
"error": "Unauthorized",
"code": 1000,
"msg": "unauthorized access",
"cause": "<string>"
}{
"error": "Internal",
"code": 10124,
"msg": "internal error",
"cause": "<string>"
}Authorizations
Token from POST /auth/token
Query Parameters
Filter to a single customer (cst_ prefix).
Filter by status.
Filter by type.
Direction of value across rails: cryptoToCrypto, fiatToCrypto, or cryptoToFiat. Retained for resources not yet on the SourceToDestination shape (onramp/cash-in, customer filters).
cryptoToCrypto, fiatToCrypto, cryptoToFiat Inclusive lower bound on createdAt.
Inclusive upper bound on createdAt.
Free-text search. Matches cash-in id, customer id, or customer email.
Alias for search.
Maximum number of results per page.
Opaque pagination cursor from a previous response; omit for the first page.
Response
The request has succeeded.
A paginated list of cash-ins.
The page of results.
Hide child attributes
Hide child attributes
Cash-in ID (ci_ prefix).
^[a-z]+_([0-9a-hjkmnp-tv-z]{26}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$Current lifecycle status of the cash-in.
pending, processing, completed, failed, expired The retail location the customer deposits cash at.
Hide child attributes
Hide child attributes
cash Lowercase asset.
Cash location details.
Hide child attributes
Hide child attributes
A postal address. country is an ISO 3166-1 alpha-2 country code.
Hide child attributes
Hide child attributes
Street address, line 1.
Street address, line 2.
City.
State / province / region.
ISO 3166-1 alpha-2
ZIP / postal code.
The cash network the location belongs to, lowercase, such as greendot.
The customer's wallet the converted funds are delivered to.
- OMS wallet
- External wallet
Hide child attributes
Hide child attributes
walletCrypto Lowercase asset.
Lowercase blockchain.
The wallet (wlt_); an older wallet keeps its original wlt_<uuid> id. Left out while a deposit's receiving wallet is not resolved yet.
^[a-z]+_([0-9a-hjkmnp-tv-z]{26}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$Who owns an account that is not the resource's customer's.
Hide child attributes
Hide child attributes
counterparty, or customer for another customer's account.
counterparty, customer The counterparty (ctp_) or customer (cst_).
^[a-z]+_([0-9a-hjkmnp-tv-z]{26}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$The counterparty's name. A customer's name is on the customer resource.
The cash amount, what arrives in the wallet, the rate and the fees. The source amount is the indicated amount until the cash is deposited, then the cash actually deposited.
Hide child attributes
Hide child attributes
Every fee charged across both sides. [] when there are none — never omitted, never null.
Hide child attributes
Hide child attributes
Fee kind. OPEN — clients must tolerate an unrecognised type. Known values today: "developer", "oms", "gas".
Which side this fee was deducted from.
source, destination Currency this fee is denominated in — that side's asset.
Fee amount in asset, at the asset's precision.
The source side, in the source asset.
Hide child attributes
Hide child attributes
Lowercase asset of this side, the same as the side's instrument asset.
On the source, the gross amount the customer pays; on the destination, the amount that arrives. A decimal string at the asset's precision. Always set on the source; set on the destination once priced.
The destination side, in the destination asset.
Hide child attributes
Hide child attributes
Lowercase asset of this side, the same as the side's instrument asset.
On the source, the gross amount the customer pays; on the destination, the amount that arrives. A decimal string at the asset's precision. Always set on the source; set on the destination once priced.
Mid-market rate from the source asset to the destination asset, set together with the destination amount. Identity: (source.amount − Σ source fees) × exchangeRate = destination.amount + Σ destination fees.
The side whose amount was fixed at creation. OMS calculated the other side.
source, destination Present and true when OMS absorbs the destination gas cost; omitted otherwise.
When the cash-in was created.
When the cash-in was last updated.
Expiry of the cashInCode — the single expiry field for a cash-in. Refreshing the cash-in issues a new cashInCode but does not extend this expiry. Once it has passed, the cash-in can no longer be refreshed.
Why the cash-in failed. Present only when status is failed.
Hide child attributes
Hide child attributes
What went wrong.
providerError, providerRejected, providerTimeout, expired, systemError, provisioningTimeout, insufficientFunds, providerAmountBelowMinimum, limitExceeded, outsideSellBounds, outsideSellVelocityBounds, unusableAmount, unsupportedCorridor, outgoingRailNotEnabled, ssnNotVerified, riskRejected, cardDeclined, bankSellDeclined, payoutFailed, priceMoved, returningToSender, returnedToSender, returnFailed, depositFailed, attributionTimeout, assetMismatch, chainMismatch, misattributedArrival, depositAddressNotActive, virtualAccountNotActive, counterpartyArchived, destinationUnavailable, walletClaimed, walletBoundToCustodialFlow, projectSuspended, memoInvalid, cashDepositFailed, noMatchingNetwork, blockchainAddressInUse, bankAccountInUse, bankAccountRejected, deletePendingTimeout, providerAccountMissing, cardInUse, cardLimitReached, countryProhibited, countryNotSupported, cardVerificationDeclined, bankVerificationDeclined, accountClosed, accountFrozenByBank, routingOrAccountNumberInvalid, accountHolderDeceased, accountDoesNotSupportTransfers, payeeNameMismatch, walletUnreachableOnNetwork, billingAddressMismatch, cardExpired, cardClosedOrLostStolen, pushToCardUnsupported, cardDeclinedByIssuer A fixed, vendor-neutral sentence for code.
Whether trying the same thing again can succeed.
The bank's own return code, only on an external account a bank return made invalid.
The Transaction produced once the cash-in completes. Null while pending.
^[a-z]+_([0-9a-hjkmnp-tv-z]{26}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})$When the cash-in completed. Present only when status is completed.
Whether more results exist beyond this page.
Cursor for the next page; null when there are no more results.
Was this page helpful?