Skip to main content

Onchain Integration

SignalArc currently references an Arc Testnet SignalArcMarket deployment and includes frontend browser-wallet transaction wiring in the current working tree. This is prototype/testnet behavior only.

Network

Deployed Contracts

Arcscan:

Contract Functions

Verified from contracts/src/SignalArcMarket.sol and contract tests: Public state getters are also generated by Solidity for fields such as question, closeTimestamp, resolver, collateralToken, status, winningOutcome, yesPositions, noPositions, hasClaimed, totalYes, totalNo, and totalCollateral.

Frontend-Used Functions

The current frontend uses:

Outcome Mapping

The contract enum is: Frontend mapping:

USDC Decimals

The project state records Arc Testnet USDC ERC20 interface behavior as 6 decimals. The test-only MockUSDC also uses 6 decimals.

Browser Transaction Flow

When the wallet is connected to Arc Testnet and the market is open:
  1. Parse the user-entered USDC amount with 6 decimals.
  2. Submit approve(SignalArcMarket, amount) to the Arc Testnet USDC ERC20 interface.
  3. Wait for the approval receipt.
  4. Submit openPosition(outcome, amount) to SignalArcMarket.
  5. Wait for the open-position receipt.
  6. Show Arcscan transaction links.

Backend Contract Metadata

The backend exposes local/testnet metadata at GET /arc/contract. The response marks the deployment as a prototype and production_approved: false.

Explicit Limitations

  • Prototype/testnet only.
  • Not audited.
  • Not production custody.
  • Not production settlement.
  • No Arc mainnet deployment.
  • No Circle production wallet or custody integration.
  • No oracle integration.
  • No dispute flow.
  • Payout behavior is fixed 1:1 in the prototype contract.
  • Resolver is a single address.
  • Any Arc or Circle behavior not implemented or not documented in official sources is unknown / not documented.