← All work

Payments · Live on Arc mainnet

Splits

Split any payment, to anyone, in one transaction on Arc.

Role
Builder: product, contract, app and infrastructure · team project
Timeline
October 2026, for Arc Microgrants
Stack
Next.js, Drizzle, Postgres, Solidity, Foundry, Arc, Circle, CCTP, Amazon Bedrock

Design and the original pitch by @Noble.

Open live: mysplits.xyz

Splits film

A demo of one USDC payment split by purpose and paid out in a single Arc transaction. Shown silent with captions.

The problem

People abroad often pay for several things at home at once: rent, school fees, upkeep.

They send one lump sum and trust it is divided as meant, or make several transfers and pay a fee on each. No remittance app lets the sender say what the money is for.

How it works

  1. 01Paste, describe or screenshot the list of recipients.
  2. 02Splits flags duplicates and addresses that cannot receive USDC before anything is sent.
  3. 03Approve with a PIN or passkey, or in your own wallet.
  4. 04SplitsRouter pays everyone in one transaction, or nobody.
  5. 05The app reads the receipt back from Arc before showing it as landed, and recipients paid by email are told.
  • SplitsRouter on Arc has no owner and holds no funds. It pulls with transferFrom and refuses a repeated payment reference.
  • SplitsCrossPay accepts USDC from other chains through CCTP, then pays out or refunds.
  • Circle developer-controlled wallets with Gas Station let people pay from an email account.
  • An agentic mode turns pasted text or a screenshot into the list, using Claude on Amazon Bedrock.

What I decided

  1. 01

    The router holds no funds and has no admin or rescue function. A vault design was rejected for custody risk.

    Source: split/PLAN.md

  2. 02

    Two guards against paying twice: a per-payer payment reference and a version check on saved splits.

    Source: split/PLAN.md

  3. 03

    A Circle webhook is a hint, never the truth. Every deposit is checked on its own chain, with a sweeper and a balance reconcile behind it.

    Source: split/README.md

  4. 04

    The agent can only fill in the form. It never sees balances and never pays.

    Source: split/README.md

Proof

What it is not yet

  • Splits is not a licensed money transmitter, so payments are capped at a low limit for now.
  • Email wallets are custodial.
  • There is no cash-out to bank accounts yet.

Written from split/README.md, split/PLAN.md, split/docs/dorahacks-submission.md

Next project

AGON →