AllSet Portal

Note: If you are using the SDK, AllSet works automatically. You do not need to understand any of this to send or receive payments. This page explains what happens under the hood.

AllSet is Fast's clearing gateway — the interchange layer that connects Fast to external networks like Ethereum, Base, and Arbitrum. It handles all cross-network fund movement so your agent can receive deposits from any supported network and withdraw to any destination, without managing multiple wallets or dealing with cross-network complexity.


What AllSet Does

Fast is a high-performance settlement network. But funds often start somewhere else — a user's Ethereum wallet, a USDC balance on Base, or an agent's holdings on Arbitrum. AllSet connects these external networks to Fast, so funds can flow in and out seamlessly.

Three operations:

Operation
What happens

Deposit

Funds move from an external network into a Fast account

Withdrawal

Funds move from a Fast account to an external network

Revoke

A failed or cancelled withdrawal is reversed — funds return to the sender's Fast account

From the user's or agent's perspective, these look like simple transfers. AllSet handles the cross-network coordination, verification, and settlement internally.


How Deposits Work

A deposit moves funds from an external network (e.g., Ethereum) into a Fast account.

Step by step:

  1. User sends funds to an AllSet contract on the external network (e.g., deposits USDC on Base).

  2. AllSet detects the deposit — a monitoring service watches for deposit events on each supported network.

  3. Verification — AllSet generates cryptographic proof that the deposit occurred on the external network and submits it to a pool of verifiers.

  4. Settlement on Fast — once the verifiers confirm the deposit, the equivalent balance is credited to the user's Fast account.

The key guarantee: funds are only credited on Fast after the deposit on the external network is cryptographically verified. No trust assumptions beyond the verification quorum.

What the user sees: "I deposited USDC on Base, and it appeared in my Fast account."


How Withdrawals Work

A withdrawal moves funds from a Fast account to an external network (e.g., Arbitrum).

Step by step:

  1. User initiates withdrawal on Fast — the funds are transferred to a designated account on Fast, along with a withdrawal intent specifying the destination network and recipient address.

  2. Relayer detects the intent — AllSet's relayer service monitors for withdrawal intents and forwards them to the destination network.

  3. Funds released on the destination network — the AllSet contract on the destination network verifies the intent and releases the equivalent funds to the recipient.

  4. Verification and cleanup — AllSet generates proof that the withdrawal completed on the destination network. Verifiers confirm it, and the corresponding balance on Fast is burned to maintain the invariant.

What the user sees: "I withdrew USDC from Fast, and it arrived in my Arbitrum wallet."


Revokes

If a withdrawal fails — for example, due to invalid parameters or a destination network issue — the user can revoke the withdrawal. The funds are returned to their Fast account. No funds leave the external network's AllSet contract, and the system's balance invariant is maintained.

Revokes are a safety mechanism, not a normal operation. Under typical conditions, withdrawals complete successfully.


The Invariant

AllSet maintains one critical guarantee:

The total funds held in AllSet contracts across all external networks always equals the total corresponding balance available on Fast.

Every deposit increases both sides equally. Every withdrawal decreases both sides equally. Every revoke restores both sides to their pre-withdrawal state. This invariant is enforced by the verification system — it cannot be violated without compromising the verifier quorum.


Supported Networks

Network
Status

Ethereum Sepolia

Live

Arbitrum Sepolia

Live

Arbitrum

Live

Base

Live

Polygon

Planned

Solana

Planned

Tron

Planned

The SDK automatically routes deposits and withdrawals through the appropriate network. Developers do not need to specify AllSet parameters — the SDK selects the optimal path.


Architecture

AllSet consists of three off-chain services and a set of on-chain contracts:

Services

Service
Role

Generator

Monitors external networks for deposit, withdrawal, and revoke events. Produces cryptographic proofs that these events occurred and submits them to verifiers.

Verifiers

A quorum of independent verifiers that validate the Generator's proofs and co-sign claims on Fast. A claim is only accepted when enough verifiers agree.

Relayer

Monitors Fast for withdrawal intents and forwards them to the appropriate external network for execution.

On-chain contracts

Each supported external network has an AllSet contract deployed on it. These contracts:

  • Accept deposits (lock or burn the deposited funds)

  • Release funds on withdrawal (mint or transfer to the recipient)

  • Enforce replay protection (each withdrawal can only be executed once)

  • Support arbitrary execution on the destination network — enabling advanced flows like cross-network swaps

Flow summary


Further Reading

Last updated

Was this helpful?