Sterling Check
eCheck API documentation.
Sandbox access is provisioned with your account — contact us to get API keys.
Overview
The Sterling Check API lets you verify and accept electronic checks over REST. All endpoints live under api.sterlingridge.io/v1, accept form-encoded or JSON bodies, and return predictable JSON. Verified payments deposit same or next business day.
GET /v1/account
$ curl https://api.sterlingridge.io/v1/account \
-u sk_test_72Chxxx:
{
"id": "acct_5Wm3Rt",
"object": "account",
"product": "sterling_check",
"capabilities": ["echeck_payments", "verification",
"payment_links", "recurring_billing"],
"mode": "sandbox"
}Authentication
Authenticate with your secret key via HTTP Basic auth — the key is the username and the password is blank. Sandbox keys are prefixed sk_test_, live keys sk_live_. Keys must stay server-side; use Checkout.JS for anything in the browser.
Authenticated request
$ curl https://api.sterlingridge.io/v1/echecks \
-u sk_test_72Chxxx:
# The colon prevents curl from prompting
# for a password — the key is the username.
# 401 response for a missing or invalid key:
{
"error": {
"type": "authentication_error",
"message": "Invalid API key provided."
}
}Create a payment
Create an eCheck with a routing and account number. The account is verified before submission, and the payment settles to your bank account same or next business day. Amounts are in cents — there are no transaction limits.
POST /v1/echecks
$ curl https://api.sterlingridge.io/v1/echecks \
-u sk_test_72Chxxx: \
-d amount=84500 \
-d currency=usd \
-d "bank[routing_number]"=042000314 \
-d "bank[account_number]"=000123456789 \
-d "payer[name]"="Jane Smith" \
-d description="Order #7218"
{
"id": "chk_3Vb8Kp6Qs",
"object": "echeck",
"amount": 84500,
"status": "processing",
"verification": "passed",
"expected_deposit": "next_day"
}Verify an account
Verify an account before you accept a check. The basic tier validates the routing and account number in real time; the premium tier adds a bank-login ownership match and a balance check across 5,000+ institutions.
POST /v1/verifications
$ curl https://api.sterlingridge.io/v1/verifications \
-u sk_test_72Chxxx: \
-d "bank[routing_number]"=042000314 \
-d "bank[account_number]"=000123456789 \
-d tier=premium
{
"id": "ver_8Ln4Dw",
"object": "verification",
"account": "valid",
"ownership": "matched",
"balance": "sufficient",
"risk_score": 7
}Payment links
Create a hosted checkout page and send the URL by email or SMS. Your customer enters or connects their bank details on our PCI and Nacha-compliant page, verification runs automatically, and you receive a webhook on deposit.
POST /v1/payment_links
$ curl https://api.sterlingridge.io/v1/payment_links \
-u sk_test_72Chxxx: \
-d amount=125000 \
-d currency=usd \
-d description="Invoice #2041" \
-d "notify[email]"=customer@example.com
{
"id": "plink_6Gt2Hz",
"object": "payment_link",
"url": "https://pay.sterlingridge.io/c/6Gt2Hz",
"status": "active"
}Recurring billing
Charge a stored, verified bank account on a fixed schedule — weekly, monthly, or custom intervals. Sterling Check re-verifies before each debit, retries soft failures automatically, and notifies you when a schedule needs attention.
POST /v1/recurring
$ curl https://api.sterlingridge.io/v1/recurring \
-u sk_test_72Chxxx: \
-d customer=cus_2Pk7Mv \
-d amount=14900 \
-d currency=usd \
-d interval=month \
-d start_date=2026-08-01
{
"id": "rec_4Zn9Xj",
"object": "recurring_schedule",
"status": "active",
"next_charge": "2026-08-01"
}Webhooks
Subscribe to events like echeck.deposited, echeck.returned, and verification.failed. Deliveries are signed with your endpoint secret and retried with backoff for 72 hours, so your records always reconcile.
POST /v1/webhook_endpoints
$ curl https://api.sterlingridge.io/v1/webhook_endpoints \
-u sk_test_72Chxxx: \
-d url=https://example.com/webhooks/sterling \
-d "events[]"=echeck.deposited \
-d "events[]"=echeck.returned \
-d "events[]"=verification.failed
{
"id": "we_7Rc5Bq",
"object": "webhook_endpoint",
"secret": "whsec_Km2...",
"status": "enabled"
}Ready to build on
Sterling Check?
Sign up and our integration team will provision your sandbox, API keys, and a named engineering contact.
Sign Up NowNo long-term contracts · No setup fees · No cancellation fees