Payment infrastructure for developers

Power instant global transfers with digital dollars.

Cheap, fast, transparent and secure.

ViviWire App & Dashboard

Process payments 24/7, anywhere.

Enable instant settlements and expand your global reach.

We take care of the compliance and tech.

Easy digital dollars integration

Quickly integrate digital dollars into your existing payment flow using our developer-friendly APIs.

Offer instant onramp and offramp

Connect any wallet, get real-time quotes and enjoy low fees for a smooth user experience.

Stay compliant everywhere

We handle all regulatory, compliance, and technical hurdles. Concentrate on your core business.

Powering next-gen companies.

Enabling secure international payments in under 60 seconds, cutting traditional transaction times by 80%.

Global Payroll

Pay your contractors in any currency, no matter where they are.

Enterprise Payouts

Efficiently manage mass global payments with ease.

Merchant Settlement

Expedite payouts with automatic currency consolidation.

Business Invoicing

Streamline your invoicing process with digital dollars transactions.

Remittances

Offer fast and affordable remittance solutions to your customers.

Secure by design, across all stacks.

Add fiat gateways to your apps with minimal code. Our SDKs support multiple languages and frameworks, backed by a developer-friendly REST API with public OpenAPI documentation.

KYC/B
Bank Accounts
Payouts
Wallets
Payins
import { ViviWire } from 'ViviWire';

const viviwire = new ViviWire('<api_key>');

(async function() {
  // Standard KYC
  await viviwire.customers.create('<instance_id>', {
     type: "individual",
     kyc_type: "standard",
     email: "[email protected]",
     tax_id: "12345678",
     address_line_1: "8 The Green",
     address_line_2: "#12345",
     city: "Dover",
     state_province_region: "DE",
     country: "US",
     postal_code: "02050",
     ip_address: "127.0.0.1",
     phone_number: "+1234567890",
     proof_of_address_doc_type: "UTILITY_BILL",
     proof_of_address_doc_file: "https://pub-4fabf5dd55154f19a0384b16f2b816d9.r2.dev/v4-460px-Get-Proof-of-Address-Step-3-Version-2.jpg.jpeg",
     first_name: "John",
     last_name: "Doe",
     date_of_birth: "1998-01-01T00:00:00Z",
     id_doc_country: "US",
     id_doc_type: "PASSPORT",
     id_doc_front_file: "https://pub-4fabf5dd55154f19a0384b16f2b816d9.r2.dev/1000_F_365165797_VwQbNaD4yjWwQ6y1ENKh1xS0TXauOQvj.jpg"
  });

  // Standard KYB
  await viviwire.customers.create('<instance_id>', {
   type: 'business',
   kyc_type: 'standard',
   email: '[email protected]',
   tax_id: '1234567',
   address_line_1: '8 The Green',
   address_line_2: '#19364',
   city: 'Dover',
   state_province_region: 'DE',
   country: 'US',
   postal_code: '19901',
   proof_of_address_doc_type: 'UTILITY_BILL',
   proof_of_address_doc_file: 'https://onb-bucket.viviwire.io/1739822718778-logo.jpg',
   legal_name: 'Vivi Pay, Inc.',
   alternate_name: 'ViviWire',
   formation_date: '2024-05-02T00:00:00.000Z',
   website: 'https://viviwire.com',
   owners: [
      {
         role: 'beneficial_controlling',
         first_name: 'Bernardo',
         last_name: 'Simonassi Moura',
         date_of_birth: '1990-11-28T00:00:00.000Z',
         tax_id: '14947677768',
         address_line_1: '137 The Green',
         address_line_2: 'Apt 902',
         city: 'Dover',
         state_province_region: 'DE',
         country: 'US',
         postal_code: '94101',
         id_doc_country: 'US',
         id_doc_type: 'PASSPORT',
         id_doc_front_file: 'https://onb-bucket.viviwire.io/1739822686976-logo.jpg',
         id_doc_back_file: 'https://onb-bucket.viviwire.io/1739822697594-logo.jpg',
         proof_of_address_doc_type: 'UTILITY_BILL',
         proof_of_address_doc_file: 'https://onb-bucket.viviwire.io/1739822701998-logo.jpg',
      },
   ],
   incorporation_doc_file: 'https://onb-bucket.viviwire.io/1739822713152-logo.jpg',
   proof_of_ownership_doc_file: 'https://onb-bucket.viviwire.io/1739822716647-logo.jpg',
   })
})
import { ViviWire } from 'viviwire';

const viviwire = new ViviWire('<api_key>');

(async function() {
  // ACH
  await viviwire.bankAccounts.add('<instance_id>', '<customer_id>', {
    type: "ach",
    name: "Display Name",
    beneficiary_name: "<Replace this>",
    routing_number: "<Replace this>",
    account_number: "<Replace this>",
    account_type: "checking",
    account_class: "individual"
  });

  // Domestic Wire
  await viviwire.bankAccounts.add('<instance_id>', '<customer_id>', {
    type: "wire",
    name: "Display Name",
    beneficiary_name: "<Replace this>",
    routing_number: "<Replace this>",
    account_number: "<Replace this>",
    address_line_1: "8 The Green",
    address_line_2: "#12345",
    city: "Dover",
    state_province_region: "DE",
    country: "US",
    postal_code: "02050"
  });

  // PIX (Brazil)
  await viviwire.bankAccounts.add('<instance_id>', '<customer_id>', {
    type: "pix",
    name: "Display Name",
    pix_key: "<Replace this>",
  });

  // SPEI (Mexico)
  await viviwire.bankAccounts.add('<instance_id>', '<customer_id>', {
    type: "spei_bitso",
    name: "MXN Account",
    spei_protocol: "debitcard",
    spei_clabe: "5482347403740546",
    spei_institution_code: "40002",
    beneficiary_name: "Juan Pérez"
  });

  // ACH COP (Colombia)
  await viviwire.bankAccounts.add('<instance_id>', '<customer_id>', {
    type: "ach_cop_bitso",
    name: "COP Account",
    ach_cop_beneficiary_first_name: "Fernando",
    ach_cop_beneficiary_last_name: "Guzman Alarcón",
    ach_cop_document_id: "1661105408",
    ach_cop_document_type: "CC",
    ach_cop_email: "[email protected]",
    ach_cop_bank_code: "051",
    ach_cop_bank_account: "12345671",
    account_type: "saving"
  });

  // Transfers 3.0 (Argentina)
  await viviwire.bankAccounts.add('<instance_id>', '<customer_id>', {
    type: "transfers_bitso",
    name: "ARS Account",
    transfers_type: "ALIAS",
    transfers_account: "BM123123123123",
    beneficiary_name: "Bryan Montes"
  });
})
import { ViviWire } from 'viviwire';

const viviwire = new ViviWire('<api_key>');

(async function() {
  // Request a quote
  const { id } = await viviwire.payouts.getQuote('<instance_id>', '<bank_account_id>', {
    currency_type: "sender",
    cover_fees: true,
    request_amount: 1000,
    network: "base",
    token: "USDC"
  });

  // Execute payout
  await viviwire.payouts.executeEvm('<instance_id>', '<quote_id>', {
    sender_wallet_address: '0x...'
  });
})
import { ViviWire } from 'viviwire';
import { http, createConfig, wagmiConfig } from 'wagmi'
import { base, arbitrum, polygon } from 'wagmi/chains'

export const config = createConfig({
  chains: [base, arbitrum, polygon],
  transports: {
    [base.id]: http(),
    [arbitrum.id]: http(),
    [polygon.id]: http(),
  },
})

const viviwire = new ViviWire('<api_key>');

(async function() {
  // Request message to sign
  const { message } = await viviwire.blockchainWallets.getMessage();

  // Sign message on chain
  const signature_tx_hash = await signMessage(wagmiConfig, {
    message,
  })

  await viviwire.blockchainWallets.add('<instance_id>', '<customer_id>', {
    name: "Display Name",
    network: "base",
    token: "USDC",
    signature_tx_hash,
  });
})
import { ViviWire } from 'viviwire';

const viviwire = new ViviWire('<api_key>');

(async function() {
  // Request a quote
  const { id } = await viviwire.payins.getQuote('<instance_id>', '<blockchain_wallet_id>', {
    currency_type: "sender",
    cover_fees: true,
    request_amount: 1000,
    network: "base",
    token: "USDC"
  });

  // Execute payin
  await viviwire.payins.getTransferDetails('<instance_id>', '<quote_id>');
})

One API.
Multiple payment rails.

ViviWire, Inc. is a financial technology company and is a registered Money Services Business with the US Treasury's Financial Crimes Enforcement Network, also known as FinCEN. We are not a bank. By creating and using your account at ViviWire, you agree to ViviWire, Inc.'s Terms of Service, to all applicable laws and regulations, and agree that you are responsible for compliance with any and all applicable local laws.