Back to leaderboard
Season 1 · DeFi & Open Finance

Nexis

Stablecoin Payments on a Sovereign Infrastructure

Stage 1, ReviewDeFi & Open Finance

by coldplay0936 · submitted Jun 20, 2026

Community votes

0

Voting opens when this submission reaches the Top 10 stage.

Overall score

/ 100

Weighted average across the 5 judging criteria.

Description

01/03

What the builder said.

Written by the team, rendered as the markdown they typed in the submission wizard.

Nexis

Sovereign, on-chain stablecoin payments and invoicing on OPN Chain.

Nexis lets anyone send tUSDT to up to 20 recipients in a single transaction instead of paying gas and clicking "confirm" twenty times over, and turns invoicing into something the chain itself enforces — an invoice names exactly one wallet allowed to pay it, and the amount, status, and history all live on-chain. No database, no intermediary, no central party who could quietly edit the record.

nexis-v2/
  contracts/    Solidity contracts (BatchTransfer, Invoicing), tests,
                deploy script — see contracts/README.md
  frontend/     React + Vite dApp — see frontend/README.md

Why it's built this way

The core idea behind Nexis is that a payment record shouldn't depend on anyone keeping a server running. Every transfer and every invoice on this platform is fully readable, verifiable, and enforced by the contracts themselves — BatchTransfer.sol for multi-recipient settlement, Invoicing.sol for invoice creation, payment, and cancellation. If the frontend disappeared tomorrow, the data and the rules governing it wouldn't.

Get running in three steps

1. Deploy the contracts (you'll need a wallet funded with test OPN — free from https://faucet.iopn.tech)

cd contracts
npm install
cp .env.example .env        # add your DEPLOYER_PRIVATE_KEY
npm run compile
npm test                    # 27 tests, all run locally — no network needed
npm run deploy

This prints two addresses:

BATCH_TRANSFER_ADDRESS = "0x..."
INVOICING_ADDRESS      = "0x..."

2. Wire them into the frontend

Open frontend/src/contracts/config.js and paste those two addresses into CONTRACTS.batchTransfer and CONTRACTS.invoicing.

3. Run the app

cd ../frontend
npm install
npm run dev

Open http://localhost:5173, connect a wallet, and everything is live — batch transfers, invoice creation and payment, and the activity ledger all read and write directly to the contracts you just deployed.

What's already configured and doesn't need touching

  • OPN Chain Testnet: RPC https://testnet-rpc.iopn.tech, chain ID 984, explorer https://testnet.iopn.tech
  • tUSDT: 0x3e01b4d892E0D0A219eF8BBe7e260a6bc8d9B31b

Tooling

Built with the help of Claude (Anthropic) for contract development, the frontend build, and testing — directed, reviewed, and deployed by me.

Roadmap

02/03

What ships next.

The builder's own next-quarter plan. Use it to gauge follow-through and ambition.

Phase 1 - Q3

Notifications & query performance: Add share-link generation for invoices and permanent client-side caching of paid/cancelled invoices, cutting repeat on-chain reads. Build an event-driven relay service that watches InvoiceCreated and InvoicePaid events and notifies payers/payees automatically, removing the need to manually check the dashboard.

Phase 2 - Q3

Infrastructure hardening: Move off the public RPC endpoint to a dedicated provider with automatic fallback, add uptime monitoring, and switch invoice lookups from iterating every invoice ID to indexed event-log queries filtered by wallet address — keeping retrieval cost proportional to a user's own activity, not total platform volume.

Phase 3 — Q4

Security: Run static analysis (Slither, Mythril) on both contracts, followed by a community audit (Code4rena/Sherlock) ahead of a full professional audit once transaction volume justifies the cost. Stand up a public bug bounty in the meantime.

Phase 4 — Q4

Resilience at scale: Write and test a contract migration script now, before it's ever needed, so a future issue can be resolved by deploying a new version and migrating open invoices — preserving full immutability rather than adding an upgrade backdoor. Introduce a subgraph for indexed queries if invoice volume outgrows direct RPC calls.

On-chain proof

03/03

2 contracts on OPN Chain.

The chain itself confirmed every deployment is valid, signed by the builder's wallet, and inside the season's window.

  • 01Invoicing ContractPrimary

    0xc3cD6cFb81c7ea63062783720E967cc2C2A59e8c

    tx 0x4e1c9d86baeae7efd3da62ceb40ce8e6cdd6e159d1d17acd744821ae5d18172c

    deployed Jun 20, 2026 · block 18912796

  • 02Batch Transfer Contract

    0xD1a7fa1F72B32FD9AB9Eb2b3D9FfEA5C6Df423F9

    tx 0xdfbf26c0d804de70015e97401b74c4779741ebe4fb2166ca8a49d773381a6469

    deployed Jun 20, 2026 · block 18912794