Skip to main content
2026-09-07

Account Verification Transactions Now Generally Available

Account-verification transactions are out of beta and on by default for every tenant — no enablement request needed. Pass type=verification to GET /issuing/transactions to read them, or fetch one via GET /issuing/transactions/{transactionId}.The payload matches beta. The API still excludes verifications unless you ask for them, so you do not need to change existing integrations.
2026-09-03

Transfer Source Attribution

You can now read best-effort source attribution on transfer source objects: originator (the sending wallet address on offramps, or the fiat sender’s name on onramps), referenceId (the on-chain deposit transaction hash on offramps, or the wire IMAD / ACH reference on onramps), and memo (the incoming fiat payment memo, onramps only). You receive these on the transactionTransfer webhook and on transfer rows from the Transactions API. All three fields are additive and optional — omitted when they can’t be resolved — so your existing integrations keep working unchanged.
2026-08-19

Currency and Card Configuration Fields

Issuing responses now state the currency their amounts are denominated in, and card responses describe the card’s product configuration:
  • Balance reads return an optional currency field alongside the existing amounts: tenant, company, and user balances.
  • Custom fee charges (company, user) echo the currency stamped on the created transaction.
  • Card responses (create, get, update) include an optional configuration object describing the card’s scheme (for example visa), rail (credit, debit, or prepaid), and currency. Each field is omitted when it cannot be resolved.
  • Dispute responses include the currency inherited from the disputed transaction, and fee and adjustment transactions now carry currency like the other transaction types.
Currency values are lowercase ISO 4217 codes (for example usd). All of these fields are additive and optional, so existing integrations keep working unchanged, and the response shapes are forward-compatible with future multi-currency programs.Endpoints that derive the tenant’s currency — the three balance reads, both custom fee charges, payment initiation, and card creation — now return 400 UNSUPPORTED_CURRENCY when the tenant’s configured currency isn’t supported.New webhook payload versions carry the same information: dispute created/updated (v1.2.0) and chargebackCreated (v1.1.0) inherit the disputed transaction’s currency; card created (v1.1.0) and updated (v1.4.0) state the card’s currency; spend created (v1.4.0) and completed (v1.5.0) add currency to fundMovements[] entries; transactionReward created (v1.1.0) states rewardUnit: "points"; onchainRefund created/completed (v1.1.0) state amountUnit: "cents"; and raindrop_redemption created events add amountUnit: "wei" under v1.1.0. Versioned fields are opt-in — update your tenant’s webhook configuration to receive them (raindrop payloads instead declare the new version directly in their version field).
2026-08-17

Account Verification Transactions (Beta)

GET /issuing/transactions now returns $0 account-verification authorizations when you pass type=verification. They are excluded from responses by default, so existing integrations are unchanged.Each row returns a verification object with the card and cardholder identity, the merchant fields (merchantName, merchantCity, merchantCountry, merchantCategory, merchantCategoryCode), and authorizedAt. There is no amount and no postedAt — verifications never settle. Individual rows are also retrievable via GET /issuing/transactions/{transactionId}.This is live in beta and ready for partner testing. Access is enabled per tenant — contact your account manager to turn it on. Until it is enabled, requests with type=verification return 404 Not Found.
2026-08-12

Dispute Filing Thresholds and Fee Enforcement

Rain no longer files or reimburses disputes of $10 or under. On September 1, 2026, that threshold rises to $30: disputes under $30 will not be filed or charged, and the dispute fee already defined in your MSA applies to each dispute of $30 or more escalated to the card network, regardless of the outcome. The threshold that applies is determined by the date you submit the dispute.Nothing changes in how or what you submit. Keep submitting every dispute regardless of size. Reporting costs you nothing and helps Rain track fraud patterns even when a formal dispute is not filed. See Dispute Thresholds and Fees.
2026-07-28

Signature Endpoints Now Return a Retry-After Header

The payment and withdrawal signature endpoints now return a Retry-After response header on their 409 and 425 cooldown responses. The value is the number of whole seconds you must wait before you retry, matching the fixed 120-second (2-minute) signature cooldown. Read the header and delay your next request by that many seconds.2026-07-10

Report Downloads Now Return a Signed URL

The daily and monthly report endpoints now respond with a short-lived signed URL instead of the file body:
  • GET /issuing/reports/{year}/{month} - Monthly report
  • GET /issuing/reports/{year}/{month}/{day} - Daily report
The response is a JSON object { url, expiresAt }. Download the report by issuing a GET to url; the link expires 1 hour after issuance. This lets large reports download directly from storage instead of streaming through the API. format accepts csv (default) or json.
Breaking change: these endpoints previously returned the raw file body and now return { url, expiresAt }. Update integrations to request the report, then GET the returned url.
2026-07-09

Higher Dispute Attachment Limit

You can now upload up to 20 evidence files per dispute, up from 10. The 20MB per-file size limit is unchanged. This applies when you create a dispute and when you upload additional attachments to an existing dispute.2026-07-02

Monthly Statement Downloads

You can now download a user’s or company’s monthly statement as a PDF:
  • GET /issuing/statements/{year}/{month} - Download a user’s or company’s monthly statement
The year and month identify the month the statement covers. Pass either the userId or companyId query parameter to select whose statement to download. The user or company must belong to the authenticated tenant. See Download a monthly statement for details.
2026-06-24

Updated Reporting Fields

The daily and monthly servicing reports now expose additional columns — ledgerSettlementAmount, postedAt, tenantId, and billingTenantId — and no longer include isNetworkAccountVerification. Reports also now include not-yet-settled transactions, which carry a ledgerSettlementAmount of 0 until they settle.

Invoice Reconciliation Guide

Added step-by-step instructions for reconciling your invoice from the report, covering both volume figures (billingTenantId + transactionDate) and transaction counts (tenantId + postedAt).

Rollout & Backfill

The new reporting fields apply to reports generated from June 24, 2026 onward. The May 2026 monthly report will also be backfilled to match the new format.
2026-04-17

Multi-Attachment Support for Disputes

You can now upload multiple evidence files per dispute (up to 10 attachments, max 20MB each). New endpoints:
  • GET /issuing/disputes/{disputeId}/attachments - List all attachments
  • POST /issuing/disputes/{disputeId}/attachments - Upload an attachment
  • GET /issuing/disputes/{disputeId}/attachments/{attachmentId} - Download an attachment
  • DELETE /issuing/disputes/{disputeId}/attachments/{attachmentId} - Delete an attachment
The dispute response now includes hasFileEvidence (boolean) and attachmentCount (integer) fields. Existing single-file evidence endpoints remain available for backward compatibility.
2026-04-10

Webhook Signing Key Protection

You can no longer delete an API key that serves as your primary or secondary webhook signing key. Attempts return a 400 Bad Request error. To delete the key, first assign a different signing key in the webhooks dashboard.
2026-03-17

API Key IP Address Whitelisting

Added optional ipAddresses field to API key creation. Restrict API keys to specific IPv4/IPv6 addresses or CIDR ranges. Requests from non-allowed IPs return 401 Unauthorized. See Authenticating with the API for details.
2026-01-27

JWT Authentication

Introduced support for bearerAuth (JSON Web Tokens). High-sensitivity endpoints now support Bearer tokens for improved session security.2026-01-19

Standardized Shipping Contact

Added recipientEmail as a standard property for physical card shipments. It features a 60-character limit and defaults to shipping@rain.xyz.
2026-01-15

Detailed Dispute Management

Added disputeType categories (fraud, creditNotProcessed, serviceNotReceived, merchandiseIssue, other).

Automated Reimbursements

When a dispute moves to "accepted", Rain automatically generates a credit transaction. You will receive a transaction.completed webhook with a negative amount equal to the credit issued.

Webhook Lifecycle

The dispute.updated webhook now triggers for every status transition and whenever textEvidence is modified.
2025-12-17

Overhauled Error Handling

All errors now return a machine-readable ErrorResponse schema with programmatic errorCode values (e.g., VALIDATION, LOCKED, BLOCKCHAIN).

Signature State Machine

Refactored IssuingSignature to handle asynchronous operations. Added pending status with retryAfter polling indicators and expiresAt timestamps.

Custom Charges

Added POST /companies/{companyId}/charges to apply custom fees to company accounts.
2025-12-16

Reporting Expansion

Added includeSubtenants parameter to the Reporting API to allow parent tenants to pull consolidated data.

Versioning

Updated contractVersion schema from an integer to a number for better precision.
2025-12-09

Monthly Reporting API

Launched GET /reports/{year}/{month}. Enables tenants to retrieve settled transaction data in CSV, JSON, or ZIP formats.
2025-12-03

Address Intelligence

Launched POST /shipping-groups/validate-address using Google’s Address Validation API to provide “confidence scores” for delivery.
2025-11-28

Shipping Methods

Added apcTracked as a supported method for card issuance.
2025-11-20

Business Owner Onboarding

Launched POST /applications/company/{companyId}/ubo to add Ultimate Beneficial Owners to existing applications.
2025-11-18

Webhook Key Rotation

Introduced zero-downtime key management via POST /webhooks/apikey/secondary and /promote. Supports dual-signing during transitions.
2025-10-28

rainCollateralContractId

Added this parameter to signature endpoints to allow specific selection of collateral contracts per transaction.
2025-10-09

Contract Management

Launched PUT /contracts/{contractId} to toggle settings like the onramp feature.