> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lightspark.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Global P2P

export const FeatureCardGrid = ({cols = 3, children}) => <div className={`not-prose feature-cards-grid feature-cards-cols-${cols}`}>
    {children}
  </div>;

export const FeatureCard = ({icon, title, children, href, linkHref, linkText, color, tag, tagPosition, layout, variant, iconSize}) => {
  const isHorizontal = layout === 'horizontal';
  const isFlat = variant === 'flat';
  const isLargeIcon = iconSize === 'lg';
  const isInlineTag = tagPosition === 'inline';
  const card = <div className={`feature-card ${href ? 'feature-card-link' : ''} ${!icon ? 'feature-card-no-icon' : ''} ${isHorizontal ? 'feature-card-horizontal' : ''} ${isFlat ? 'feature-card-flat' : ''} ${isLargeIcon ? 'feature-card-icon-lg' : ''}`}>
      {icon && <div className="feature-card-icon-wrapper">
          {color ? <div className="feature-card-icon" style={{
    WebkitMaskImage: `url(${icon})`,
    maskImage: `url(${icon})`,
    backgroundColor: color,
    width: '24px',
    height: '24px',
    WebkitMaskSize: 'contain',
    maskSize: 'contain',
    WebkitMaskRepeat: 'no-repeat',
    maskRepeat: 'no-repeat'
  }} /> : <img src={icon} alt="" className="feature-card-icon" />}
        </div>}
      <div className="feature-card-content">
        {isInlineTag ? <div className="feature-card-title-row">
            <span className="feature-card-title">{title}</span>
            {tag && <span className="feature-card-tag">{tag}</span>}
          </div> : <div className="feature-card-title">{title}</div>}
        <div className="feature-card-desc">{children}</div>
        {tag && !isInlineTag && <div className="feature-card-tag-row"><span className="feature-card-tag">{tag}</span></div>}
        {linkText && <div className="feature-card-link-row">
            {linkHref ? <a href={linkHref} className="feature-card-text-link" style={{
    color: color
  }}>
                {linkText}
              </a> : <span className="feature-card-text-link feature-card-coming-soon" style={{
    color: color,
    opacity: 0.6
  }}>
                {linkText}
              </span>}
          </div>}
      </div>
    </div>;
  return href ? <a href={href} className="feature-card-anchor">{card}</a> : card;
};

export const topLevelProductName = "Grid";

export const remittanceProductName = "Grid";

<img src="https://mintcdn.com/ramps/hc9AVHNgWd4BcukA/images/heroes/hero-globalp2p.jpg?fit=max&auto=format&n=hc9AVHNgWd4BcukA&q=85&s=ced6d480f658a7dd72cd40f9f9a2418f" alt="Global P2P hero" className="page-hero" width="1856" height="800" data-path="images/heroes/hero-globalp2p.jpg" />

With {remittanceProductName}, you can send and receive low cost real-time payments to bank accounts and UMA addresses worldwide through a single, simple API. {topLevelProductName} automatically routes each payment across its network of Grid switches, handling FX, blockchain settlement, and instant banking off-ramps for you.

<FeatureCardGrid cols={3}>
  <FeatureCard icon="/images/icons/globe.svg" title="Single API, global reach">
    {remittanceProductName} interacts with the Money Grid to route your payments globally.
  </FeatureCard>

  <FeatureCard icon="/images/icons/shield.svg" title="No Crypto Handling">
    Leverages local instant banking rails and global low latency crypto rails to settle payments in real-time.
  </FeatureCard>

  <FeatureCard icon="/images/icons/paper-plane-top-right.svg" title="Instant Delivery">
    Leverages local instant banking rails and global low latency crypto rails to settle payments in real-time.
  </FeatureCard>
</FeatureCardGrid>

<Note>For background on the UMA protocol itself, see the UMA Standard documentation: [UMA Standard—Introduction](https://docs.uma.me/uma-standard/introduction).</Note>

## Payment Flow

<Steps>
  <Step title="Fund Internal Account or prepare for Just-in-Time Funding">
    You can either prefund an internal account with fiat or receive just-in-time payment instructions as part of the quote.
  </Step>

  <Step title="Create Quote">
    Create a quote to lock exchange rate to the receiving foreign account and parse payment instructions.
  </Step>

  <Step title="Execute Quote">
    Execute the quote or send funds as per payment instructions to initiate the transfer from the internal account to the external bank account.
  </Step>
</Steps>

## {remittanceProductName} Features

Users interact with {remittanceProductName} through two main interfaces.

<Tabs>
  <Tab title="API">
    Programmatic access to create customers, quotes, fund the account, send payments and reconcile via webhooks.
  </Tab>

  <Tab title="Dashboard">
    Your development and operations team can use the dashboard to monitor payments and webhooks, manage API keys and environments, and troubleshoot with logs.
  </Tab>
</Tabs>

{remittanceProductName} supports the following functionality.

### Onboarding customers

{remittanceProductName} has two customer onboarding options - one for non regulated entities where {remittanceProductName} handles the KYC/KYB process and one for regulated entities where you handle the KYC/KYB process.

When creating customers, you'll be able to assign a customized UMA address to facilitate sending and receiving UMA payments.

### Funding Payments

{remittanceProductName} supports multiple transaction funding options including prefunded accounts and real-time funding. You can prefund an account using several payment rails such as ACH, SEPA Instant, wire transfers, Lightning, and more.

With real-time funding, you'll receive payment instructions as part of the quote. Once payment is received by our services, we'll initiate the payment to the receiver.

### Sending & Receiving Payments

To send with {remittanceProductName}, you query recipient information and pricing, then execute and fund a quote. {remittanceProductName} resolves the receiver (by UMA or external bank details), returns min/max and an exchange rate, and provides funding instructions. Once funded, {remittanceProductName} handles FX and delivery to the receiving account.

To receive with {remittanceProductName}, you expose an UMA or supported account identifier. The platform handles conversion and offramping to the receiver’s account currency and notifies you via webhooks so you can credit the customer.

### Environments

{remittanceProductName} supports two environments: **Sandbox** and **Production**.

Sandbox mirrors production behavior and webhooks so you can test receiver resolution, quotes and funding instructions, settlement status changes, and full end‑to‑end flows without moving real funds.

Production uses live credentials and base URLs for real payments once you’re ready to launch.
