Docs/Reference
Contract addresses
Every address Flux talks to on Arc mainnet (5042). All link to the Arc explorer.
FLUX CONTRACTS
FluxSettlement0xF3D395…D04b96 ↗
FluxLimitOrder0xE587C1…e8722d ↗
FluxAgentRegistry0x0BBBc1…ae2F6A ↗
TOKENS
SWAP ROUTES
XyloNet router0x737422…141023 ↗
XyloNet factory0x60EDeF…1979e2 ↗
UnitFlow LiquidityRouter0x0ef57C…e4B631 ↗
UnitFlow UniversalRouter0xEaF319…48e76F ↗
Contract ABIs
Full ABIs live in frontend/lib/arc.ts (FLUX_ABI, FLUX_LIMIT_ORDER_ABI) and compile straight from source in contracts/. Verified source for both contracts is also readable directly on ArcScan via the addresses above. Key signatures:
FluxSettlement — payments
function batchSettle(address[] recipients, uint256[] amounts) external function createStream(address recipient, uint256 amount, uint64 startTime, uint64 endTime) external returns (uint256) function withdrawFromStream(uint256 streamId) external function cancelStream(uint256 streamId) external function registerAgent(address agent, string label, uint256 budgetCap) external function agentPay(address recipient, uint256 amount) external
FluxLimitOrder — swap escrow
function createOrder(address tokenIn, address tokenOut, uint256 amountIn, uint256 minAmountOut, uint64 expiry) external returns (uint256 orderId) function cancelOrder(uint256 orderId) external function executeOrder(uint256 orderId, address router, bytes swapData) external function withdraw(address token) external function getOrderView(uint256 orderId) external view returns (Order order, bool isExpired)
FluxAgentRegistry — agent enforcement
function registerAgent(address agentWallet, uint256 perTxCap, uint256 dailyCap, uint256 totalCap, uint64 expiry) external returns (uint256 agentId) function updateCaps(uint256 agentId, uint256 perTxCap, uint256 dailyCap, uint256 totalCap, uint64 expiry) external function pause(uint256 agentId) external function resume(uint256 agentId) external function revoke(uint256 agentId) external function setAllowlisted(uint256 agentId, address[] addrs, bool allowed) external function setBlocklisted(uint256 agentId, address[] addrs, bool blocked) external function setRestrictToAllowlist(uint256 agentId, bool restricted) external function recordPayment(uint256 agentId, address to, uint256 amount) external function recordExternalSpend(uint256 agentId, address to, uint256 amount) external function getAgent(uint256 agentId) external view returns (Agent memory) function isPayable(uint256 agentId, address to, uint256 amount) external view returns (bool ok, string reason)
Events
FluxSettlement
event BatchSettled(address indexed sender, uint256 recipientCount, uint256 totalUSDC, uint256 fee, uint256 timestamp) event StreamCreated(uint256 indexed id, address indexed sender, address indexed recipient, uint256 amount, uint64 startTime, uint64 endTime) event StreamWithdrawn(uint256 indexed id, address indexed recipient, uint256 amount) event StreamCancelled(uint256 indexed id, address indexed sender, uint256 refund) event AgentRegistered(address indexed agent, string label, uint256 budgetCap) event AgentPayment(address indexed agent, address indexed recipient, uint256 amount)
FluxLimitOrder
event OrderCreated(uint256 indexed id, address indexed maker, address tokenIn, address tokenOut, uint256 amountIn, uint256 minAmountOut, uint64 expiry) event OrderCancelled(uint256 indexed id, address indexed maker, uint256 refund) event OrderFilled(uint256 indexed id, address indexed router, uint256 amountOut)
FluxAgentRegistry
event AgentRegistered(uint256 indexed agentId, address indexed owner, address indexed agentWallet, uint256 perTxCap, uint256 dailyCap, uint256 totalCap, uint64 expiry) event CapsUpdated(uint256 indexed agentId, uint256 perTxCap, uint256 dailyCap, uint256 totalCap, uint64 expiry) event AgentPaused(uint256 indexed agentId) event AgentResumed(uint256 indexed agentId) event AgentRevoked(uint256 indexed agentId) event RecipientListUpdated(uint256 indexed agentId, address indexed recipient, bool allowlist, bool value) event AllowlistModeSet(uint256 indexed agentId, bool restricted) event AgentPayment(uint256 indexed agentId, address indexed to, uint256 amount, uint256 spentToday, uint256 spentTotal)