> For the complete documentation index, see [llms.txt](https://docs.fast.xyz/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.fast.xyz/advanced/allset-layer.md).

# AllSet Portal

AllSet coordinates supported movements between Fast and external chains. Its [source repository](https://github.com/fastxyz/allset) documents separate [deposit](https://github.com/fastxyz/allset/blob/main/docs/allset-deposit.md), [withdrawal](https://github.com/fastxyz/allset/blob/main/docs/allset-withdraw.md), and [revoke](https://github.com/fastxyz/allset/blob/main/docs/allset-revoke.md) workflows. The [AllSet SDK](/sdk-references/core-sdk-execution/allset-sdk.md) exposes supported application entry points, but it does not make cross-network completion synchronous or automatic.

## Deposit and withdrawal

A deposit starts with a transaction to the configured bridge contract on the source chain. AllSet services observe and verify the event before the corresponding Fast-side balance is credited. Merely sending funds to an auto-linked EVM address is **not** a bridge deposit and produces no deposit event.

A withdrawal starts with a Fast-side transfer and intent. Relayers and destination contracts perform the external-chain leg later. The source transaction may be final while delivery is still pending, failed, or unknown. Track both sides with their transaction identities; do not make a new withdrawal just because the first acknowledgement was lost.

The source tree includes generator, verifier, relayer, block-hash, and cross-sign components. Their deployments, chain contracts, token mappings, and route availability vary by environment. A chain being recognized by the SDK is not proof that all services for that route are active.

## Revoke and recovery

Revoke is a separate protocol operation with preconditions; it is not an automatic refund for every failed or delayed withdrawal. Check the [revoke workflow](https://github.com/fastxyz/allset/blob/main/docs/allset-revoke.md) and the current transaction state before attempting it. For an uncertain submission, preserve its exact identity and seek reconciliation rather than assuming funds can safely be resent.

AllSet's design aims to maintain backing between bridge-held assets and Fast representations. That invariant depends on the configured contracts and verification process; it is not evidence that a particular user transfer has reached its destination. Use source- and destination-network records for that conclusion.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.fast.xyz/advanced/allset-layer.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `build a script that syncs our docs to a CMS` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
