When the chargeback arrives, you already have their ID.

Card disputes on money transfer never shift to the issuer, so the loss is yours. We check the government ID of the person swiping and confirm the bank is theirs. You get the file the day the dispute lands.

Get started
From $600 each month ยท one price, nothing added later
0
disputes the liability shift moves off you in money transfer categories
3
facts bound to every swipe: the person, the card, the bank
1
integration covers verification, binding, and evidence
What it does

One integration. Four checks on every swipe.

Government ID verification

Your customer submits a government ID. The identity provider matches the document to a live capture and returns a verified name and a status.

Bank ownership, confirmed by the institution

Your customer signs in to the receiving bank. The institution confirms the account belongs to that person before the swipe is authorized.

Card bound to person, person bound to bank

The card, the verified person, and the receiving account are written as one record. A swipe that does not match the binding is refused.

An evidence package per swipe

Every authorized swipe carries a package you can hand to your acquirer the day the chargeback arrives.

Why the loss sits with you

Authentication is not identity.

Without it

3-D Secure, in money transfer

The card networks carve money transfer merchant categories out of the US liability shift. You can run the authentication step and still absorb the chargeback. Passing a challenge proves a device held the card. It does not prove who held the device, and it does not name the person who received the money.

With Swipe to Bank

The swipe answers back

Every swipe contradicts the claim. The claimant passed a government ID check. Their own bank confirmed the receiving account. The card was bound to that person before the money moved. You file a record, not a screenshot.

Swipe to Bank is designed to help you defend a dispute. Issuers and networks decide outcomes. Results vary.

The evidence package

What you hand over when the chargeback lands.

Verified name and verification status
The name returned by the identity provider, the status of the check, and the moment it cleared.
Provider references
The identity reference and the bank link reference, so your acquirer can trace each check to its source.
The binding
Card fingerprint, verified person, and receiving account, recorded as one row at authorization time.
The authorization result
The decision your integration received, the amount, the currency, and your own reference for the swipe.
Timestamps
Every step in order, from the first verification attempt to the authorized swipe.
What we store

We keep the proof, not the documents.

The identity provider holds the document image, the ID number, and the date of birth. Swipe to Bank stores the verified name, the status, and a provider reference. We never store the document. Your records are scoped to your account, and no account can read another account's rows. API keys are hashed at rest, and a new key is shown once at creation.

Providers

Named providers, and a refusal when one is missing.

Stripe Identity verifies the person

Document capture, liveness, and the verified name come back from Stripe Identity. You never handle the document.

Plaid confirms the bank

Your customer signs in to the institution. Plaid returns the account and the owner on it.

Both providers sit behind adapters. When an adapter is not configured, the endpoint refuses the request and says so. Verification is never simulated, and evidence is never fabricated.

Bind the identity before the first dispute lands.

Get started
How it works

Five calls from signup to filed evidence.

You hold an account and a pair of API keys. Every record you write carries your account, and nothing crosses between accounts. The shapes below are the request and response bodies your integration handles.

01

Create your keys

You create a live key in your dashboard. The plaintext key is shown once, then stored as a hash. Rotate it whenever you want, and the old key stops working on the next request.

02

Start a verification for your customer

You post the person who is about to make the swipe. You get back a hosted link. Your customer completes the government ID check there, and the document never touches your servers or ours.

Request
POST /v1/verifications
Authorization: Bearer stb_live_9f2c...
Content-Type: application/json

{
  "reference": "mv_8841",
  "person": { "email": "member@example.com" },
  "return_url": "https://youroperation.com/verify/done"
}
Response
201 Created

{
  "id": "ver_01J9XQ4M",
  "status": "requires_input",
  "hosted_url": "https://verify.swipetobank.com/s/01J9XQ4M",
  "expires_at": "2026-09-13T18:04:11Z"
}
03

Link the receiving bank

Your customer signs in to the institution. You post the resulting token. We confirm the account owner matches the verified name and return a bank link you can reuse.

Request
POST /v1/bank-links

{
  "verification_id": "ver_01J9XQ4M",
  "public_token": "public-production-4c1d..."
}
Response
201 Created

{
  "id": "bnk_01J9XR70",
  "institution": "Chase",
  "account_mask": "4821",
  "owner_match": true
}
04

Authorize the swipe

You post the card fingerprint with the verification and the bank link. We write the binding and return a decision. A card that does not match the binding comes back refused, with the reason named.

Request
POST /v1/swipes

{
  "verification_id": "ver_01J9XQ4M",
  "bank_link_id": "bnk_01J9XR70",
  "card_fingerprint": "cfp_7d2c91b4",
  "amount_cents": 48000,
  "currency": "usd"
}
Response
200 OK

{
  "id": "swp_01J9XS22",
  "decision": "authorized",
  "binding": {
    "verified_name": "Dana Whitfield",
    "owner_match": true,
    "card_first_seen": "2026-08-02T14:21:05Z"
  },
  "evidence_url": "/v1/swipes/swp_01J9XS22/evidence"
}
05

Pull the evidence when a dispute arrives

One call returns the package for that swipe as JSON and as a PDF your acquirer accepts. You file it against the chargeback. Issuers and networks decide the outcome, and results vary.

Request
GET /v1/swipes/swp_01J9XS22/evidence
Authorization: Bearer stb_live_9f2c...
Response
200 OK

{
  "swipe_id": "swp_01J9XS22",
  "verified_name": "Dana Whitfield",
  "verification_status": "verified",
  "verified_at": "2026-09-12T16:40:02Z",
  "provider_refs": {
    "identity": "vs_1P9k...",
    "bank": "item_8Qd2..."
  },
  "authorization": { "decision": "authorized", "amount_cents": 48000 },
  "pdf_url": "https://api.swipetobank.com/evidence/01J9XS22.pdf"
}
Errors

A missing provider refuses. It does not pretend.

If the identity adapter or the bank adapter is not configured, the endpoint returns an error instead of a result. You will never receive a verified status that no provider produced.

503 Service Unavailable

{
  "error": "provider_unavailable",
  "capability": "identity",
  "message": "Identity verification is not configured for this account."
}

Read the plans and pick your volume.

Get started
Pricing

Two plans. One price each month.

Both plans carry the whole product: government ID verification, institution-confirmed bank ownership, the binding between card, person, and account, and an evidence package on every swipe. You pick the plan that matches your volume, and you are never charged per swipe.

Growth
$600 each month
You are adding Swipe to Bank now, so the identity binding is in place before the first dispute lands.
Up to 1,000 verified swipes each month
One price covers all of them. Nothing is counted against you at the end of the month.
Evidence package on every swipe
The same package that ships on Scale, with no fields held back.
Live and test keys
Hashed at rest and shown once. Rotate either one whenever you want.
Move up when you outgrow it
Pass 1,000 swipes two months running and we move you to Scale, and we tell you first.
Support by email
You get an answer by the next business day.
Get started
Billing

One price. Nothing added at the end of the month.

One line on your invoice

Your plan, billed in advance. There is no usage bill and no charge per swipe.

Evidence costs nothing extra

Pull the package on any swipe you already paid for, as often as a dispute needs it.

A failed check is not billed

A verification that comes back unverified does not count against your plan.

Pay twelve months up front and you pay for eleven. Prices are in US dollars and billed in advance. Swipe to Bank is designed to help you defend disputes, and results vary.

Common questions

What the price covers.

What if I go past 1,000 swipes on Growth?

Nothing breaks and nothing is metered. Pass 1,000 two months running and we move you to Scale, and we tell you before we do it.

Do you charge for a verification that fails?

No. A check that comes back unverified does not count against your plan and does not add to your bill.

Do provider costs pass through?

No. Identity and bank provider costs sit inside the price on both plans. Your invoice carries one line.

Can I change plans mid month?

Yes. You move up or down at any time, and the difference is prorated on your next invoice.

Am I tied into a contract?

No. Both plans run month to month. The twelve month option is there if you want it, and it is your call.

What happens if I stop?

You keep read access to your evidence packages for 90 days after your last paid day, long enough to close open disputes.

Start on the plan that fits this month.

Get started
Policy

Terms, privacy, and security.

Last updated 12 September 2026

Terms of service

These terms govern your use of Swipe to Bank. You accept them when you create an account or call the API with a key issued to you.

What the service is

Swipe to Bank verifies the identity of the person making the swipe, confirms through the institution that the receiving bank account belongs to that person, records the binding between the card, the person, and the account, and returns an evidence package for each authorized swipe.

Swipe to Bank is a technology company. We are not a bank, we do not hold your money, and we do not move funds on your behalf. Your processor and your acquirer handle the movement itself.

What we do not promise

The service is designed to help you defend a card dispute with verified facts. Issuers and card networks decide dispute outcomes, and we do not control that decision. We make no promise about the result of any filing, about revenue, or about loss reduction. Results vary.

Your account

You are responsible for your API keys and for the activity that runs under them. Keys are shown once at creation and stored as hashes. Rotate a key as soon as you believe it is exposed.

Acceptable use

You may use the service only for swipes you are legally permitted to run. You may not submit another person's documents without their consent, resell the raw provider results, or use the service to build a competing identity dataset.

Fees

Plans are billed in advance at one price each month. There is no charge per swipe and no usage bill at the end of the month. Plan changes are prorated. Fees are stated in US dollars.

Ending the agreement

You may close your account at any time. We may suspend an account for non-payment or for use that breaks these terms. After your last paid day you keep read access to your evidence packages for 90 days.

Changes

We may update these terms. We will post the new version here with a new date, and material changes take effect 30 days after posting.

Contact

Write to hello@swipetobank.com with any question about these terms.

404

That page is not here.

The link may be old or mistyped. Start from the overview and you will find every page from there.

Go to the overview