Infrastructure optimized for growth
35+
Networks Supported
25ms
Avg Processing Time
25,000+ rq/s
Enterprise-ready
100+ TB
of Big Data
Access to full transaction data on all transactions & addresses
Retrieve blockchain data, balances, and transactions
Detailed blockchain history and transaction data for any address.
Full smart contracts metadata, including token symbols & token names
Access to full transaction data on all transactions & addresses
Get live crypto prices, exchange rates, supply and token contracts across protocols via one REST API.
Real-time notifications for events on top blockchains. Response under 100ms.
AML address screening across 35+ networks
Sync and manage HD wallets, keys and addresses
Local signing for EVM, UTXO, Tron, XRP, Kaspa and Solana
Precise blockchain transaction fee estimates based on transaction priority
Broadcast and verify transactions with real-time monitoring
Prepare EVM transactions, including token transfers
Test EVM transactions, optimize gas fees and identify security flaws
Pay for HTTP APIs, or charge for your own, in USDC stablecoin over the open x402 protocol — non-custodial, on-chain settlement.
MCP servers, CLI and skills for AI agents
Dedicated nodes infrastructure for leading blockchains using JSON-RPC
Address validation, encoding & cryptographic tasks optimizations
Shared node infrastructure for top blockchains using JSON-RPC.
TL;DR — SoFi's stablecoin card settlement is live on the Mastercard network, with annualized volume expected to exceed $25 billion. If you run a payment platform or PSP touching that flow, you need real-time AML screening before settlement hits your books. This post shows the webhook plus address-screening architecture that keeps settlement moving without added latency.
SoFi began settling stablecoin transactions on the Mastercard network for a program expected to exceed $25 billion in annualized volume, according to The Block. Settlement volume at that scale moves through payment service providers (PSPs), acquirers, and settlement banks that now hold on-chain stablecoin legs alongside fiat rails.
Here is the build problem a payments backend engineer hits. A stablecoin settlement lands on-chain. Before you credit it, mark it settled, or forward it, you have to know whether the counterparty address is sanctioned or tied to a mixer. Do that check synchronously in the settlement path and you add latency to every transaction. Skip it and you carry sanctions exposure under the Financial Action Task Force (FATF) Travel Rule and the EU Markets in Crypto-Assets (MiCA) regulation. The engineering job is to screen every settlement leg without slowing the settlement pipeline.
Crypto APIs supplies the two pieces this needs: Blockchain Events for sub-100ms webhook delivery and Verify Address for AML and sanctions screening across 20+ chains. For teams building on the settlement side, the payment processors use case covers the wider flow.
The pattern is event-driven. You subscribe a webhook to the settlement addresses you control. When a stablecoin transfer confirms, the webhook fires. Your handler then calls the AML endpoint on the counterparty, applies a policy on the returned riskBand, and only then credits or holds the settlement. The screening call runs after the event, not inside the settlement transaction.
First, register a token-transaction webhook for a settlement address. Stablecoins are token transfers, so use the confirmed token-transactions event.
POST https://rest.cryptoapis.io/blockchain-events/ethereum/mainnet/address-tokens-transactions-confirmed
Header: X-API-Key: <your key>
{
"data": {
"item": {
"address": "0xYourSettlementAddress",
"callbackUrl": "https://your-backend.example/webhooks/settlement"
}
}
}
When a confirmed stablecoin transfer arrives at that address, Crypto APIs posts to your callbackUrl. From that payload you extract the sender address. Then screen it. The AML endpoint is GET, with the address in the path — there is no request body.
GET https://rest.cryptoapis.io/aml/addresses/0xCounterpartyAddress
Header: X-API-Key: <your key>
A flagged counterparty returns the risk detail your policy engine reads:
{
"apiVersion": "2024-12-12",
"requestId": "6aa3c4642f6f68835e3dbd6c",
"data": {
"item": {
"blockchain": "ethereum",
"isFlagged": true,
"riskScore": 80,
"riskBand": "high",
"severity": "high",
"categories": ["malicious", "sanctions"],
"sources": [{
"provider": "graphsense",
"label": "tornado.cash",
"categories": ["malicious"],
"severity": "high",
"listingTimestamp": 1784210009,
"sanctionPrograms": []
}],
"attribution": {
"entity": "tornado-cash",
"type": "mixer",
"label": "Tornado.Cash: Donate"
},
"listingTimestamp": 1784210009
}
}
}
A clean counterparty returns a low band, and optional fields are omitted rather than set to null:
{
"apiVersion": "2024-12-12",
"requestId": "6aa3c48d2f6f68835e3dbf05",
"data": {
"item": {
"isFlagged": false,
"riskScore": 0,
"riskBand": "low",
"severity": "none",
"categories": [],
"sources": []
}
}
}
If you would rather screen the whole transaction's counterparties at once, use the transaction endpoint with the hash from the webhook payload: GET /aml/transactions/{blockchain}/{transactionHash}. It returns isFlagged, riskBand, and a flaggedAddresses array. Your policy: credit on low, hold and route to manual review on high or severe. For a fuller walkthrough of the webhook side, see the guide on monitoring addresses with webhooks.
Confirmed versus unconfirmed. The event above fires on confirmed transfers. If you screen on unconfirmed transactions to shave time, a reorg can change what you screened. Decide whether your settlement policy credits on first confirmation or waits, and pick the matching event type.
riskBand and severity are enumerated. riskBand is one of low, medium, high, severe. severity is one of critical, high, medium, low, info, none. Do not build a policy that assumes other values. Map each band to an explicit action so an unexpected combination fails closed, not open.
Screen the right side. On an inbound settlement leg, the risk sits with the sender. On an outbound forward or sweep, screen the destination before you broadcast. A single webhook handler that always screens the same field will miss half the exposure.
Multi-chain coverage. Stablecoin settlement does not stay on one chain. Register events and run screening per chain — USDC on Solana and USDC on Tron are separate legs with separate addresses. Screening across chains is covered in AML screening across chains.
Freezes. Sanctioned USDC and USDT addresses can be frozen by the issuer. Detecting a freeze before you credit is a related check worth wiring in; see detecting USDT and USDC freezes.
SoFi's Mastercard integration is live now, which puts a clock on every PSP and settlement platform downstream of that $25 billion. Wire Verify Address screening onto your Blockchain Events webhooks before settlement volume reaches your infrastructure. The free tier needs no credit card, and the pricing calculator sizes it against your expected transaction count.
Networks Supported
Avg Processing Time
Enterprise-ready
of Big Data