Skip to Content
How money moves

How money moves

Every dollar is USDC on NEAR, every action is signed by its owner and relayed by Tegata, and every payment is checked on NEAR before it counts.

Tegata's parts: the owner and the customer use the web app; the web app stores requests, payments and receipts in Postgres and hands jobs to the worker; the worker, the only holder of operator keys, relays signed actions to NEAR and pays the fee, and reads the USDC event to mark a payment paid; live quotes come from NEAR Intents
Who talks to whom. The worker is the only process holding Tegata's NEAR keys.

Three rules hold everything up:

  1. Money is USDC on NEAR. Circle's native USDC (NEP-141) holds every balance and settles every payment, send and reward.
  2. The owner signs; Tegata relays and pays. Each action is a NEP-366 delegate action signed by the key from the owner's email login; Tegata's worker sends it and pays the network fee. See Accounts without gas.
  3. NEAR decides "paid". A payment on NEAR counts only when the USDC contract's own transfer event, read from the final transaction, matches it. Money received another way can be marked paid by hand, and its receipt says so. See When is it paid?

Every movement carries a memo

MovementMemo on the USDC transferReceipt
A customer pays a link or an invoicetegata:pay:<payment id>Numbered, /r/<token>
Tegata pays a referral rewardtegata:referral:<referral id>/r/reward/<id>
Tegata sends Sandbox test dollarstegata:test-dollarsnone (test money)
You send dollarstegata:send (or tegata:<your note>)/r/send/<id>
Money marked paid by handnothing on NEARNumbered, says "not on NEAR"

A payment's life

From a NEAR wallet: awaiting → detected → succeeded or failed. From a Tegata balance: awaiting → succeeded or failed. Only succeeded payments count toward a link or an invoice; a request is paid when they add up to its total.

On this page