The Only Platform for Building Bridgeless Apps on Bitcoin

Arch makes it easy to deploy interoperable smart contract-like programs on the L1, without fracturing liquidity or taking on bridge risk.

Become the Ultimate Archstronaut!

Have questions? Ask them in our Discord.

Connect your wallet
Backed by
Multicoin Capital Logo

The Arch Network

If it Requires Bridging,
It’s not Bitcoin-native.

Arch is a bridgeless execution platform that brings programmability directly to the Bitcoin base layer, unlike L2s and metaprotocols that silo liquidity to side chains and require added trust in their bridging process.

Learn more

1   #!/usr/bin/env bash
2   
3   export INDENT_LEVEL=2
4   
5   indent() {
6   local indent=${1:-"$INDENT_LEVEL"}
7     sed "s/^/$(printf ' %.0s' $(seq 1 "$indent"))/"
8   }
9   
10   group() {
11    # shellcheck disable=SC2016 # don't want these expressions expanded
12    local name="${1:?'buildkite `group` generator requires a `name`'}"
13    if [[ $# -lt 2 ]]; then
14      echo "no steps provided for buildkite group \`$name\`, omitting from pipeline" 1>&2
15       return
16     fi
17     cat <<EOF | indent
18   - group: "$name"
19     steps:
20   EOF
21     shift
22   
23     INDENT_LEVEL=$((INDENT_LEVEL + 4))
24     for params in "$@"; do
25       step "$params"
26     done
27     INDENT_LEVEL=$((INDENT_LEVEL - 4))
28    }
29   
30   step() {

1   #!/usr/bin/env bash
2   
3   export INDENT_LEVEL=2
4   
5   indent() {
6   local indent=${1:-"$INDENT_LEVEL"}
7     sed "s/^/$(printf ' %.0s' $(seq 1 "$indent"))/"
8   }
9   
10   group() {
11    # shellcheck disable=SC2016 # don't want these expressions expanded
12    local name="${1:?'buildkite `group` generator requires a `name`'}"
13    if [[ $# -lt 2 ]]; then
14      echo "no steps provided for buildkite group \`$name\`, omitting from pipeline" 1>&2
15       return
16     fi
17     cat <<EOF | indent
18   - group: "$name"
19     steps:
20   EOF
21     shift
22   
23     INDENT_LEVEL=$((INDENT_LEVEL + 4))
24     for params in "$@"; do
25       step "$params"
26     done
27     INDENT_LEVEL=$((INDENT_LEVEL - 4))
28    }
29   
30   step() {

1   #!/usr/bin/env bash
2   
3   export INDENT_LEVEL=2
4   
5   indent() {
6   local indent=${1:-"$INDENT_LEVEL"}
7     sed "s/^/$(printf ' %.0s' $(seq 1 "$indent"))/"
8   }
9   
10   group() {
11    # shellcheck disable=SC2016 # don't want these expressions expanded
12    local name="${1:?'buildkite `group` generator requires a `name`'}"
13    if [[ $# -lt 2 ]]; then
14      echo "no steps provided for buildkite group \`$name\`, omitting from pipeline" 1>&2
15       return
16     fi
17     cat <<EOF | indent
18   - group: "$name"
19     steps:
20   EOF
21     shift
22   
23     INDENT_LEVEL=$((INDENT_LEVEL + 4))
24     for params in "$@"; do
25       step "$params"
26     done
27     INDENT_LEVEL=$((INDENT_LEVEL - 4))
28    }
29   
30   step() {

1   #!/usr/bin/env bash
2   
3   export INDENT_LEVEL=2
4   
5   indent() {
6   local indent=${1:-"$INDENT_LEVEL"}
7     sed "s/^/$(printf ' %.0s' $(seq 1 "$indent"))/"
8   }
9   
10   group() {
11    # shellcheck disable=SC2016 # don't want these expressions expanded
12    local name="${1:?'buildkite `group` generator requires a `name`'}"
13    if [[ $# -lt 2 ]]; then
14      echo "no steps provided for buildkite group \`$name\`, omitting from pipeline" 1>&2
15       return
16     fi
17     cat <<EOF | indent
18   - group: "$name"
19     steps:
20   EOF
21     shift
22   
23     INDENT_LEVEL=$((INDENT_LEVEL + 4))
24     for params in "$@"; do
25       step "$params"
26     done
27     INDENT_LEVEL=$((INDENT_LEVEL - 4))
28    }
29   
30   step() {

The world’s largest blockchain, unlocked.

Arch powers the first generation of decentralized applications capable of accessing the full liquidity of the only trillion-dollar blockchain, enabling new use cases from DeFi to DAOs.

Learn more

Turing-Complete Programs,
Paired with Deep Bitcoin Liquidity.

Arch combines its specialized Virtual Machine and Decentralized Verifier Network to enable trustless spot swaps and decentralized smart contract-like execution straight from your wallet, greatly improving the UX, liquidity, and security of programmability on Bitcoin.
Orange broken link button
Independent States

Ordinals
BRC-20s
Runes

Orange Speed Gear button
Efficiency By Design

UTXO Program Invocation
Decoupled & Independent States Parallel Execution

Orange Atom button
Atomic Execution

State Changes
Asset Transfers
Bridgeless Execution

Develop With Arch

Arch Network gives developers the tools to build bridgeless dApps on Bitcoin's foundational layer. We have prepared significant incentives for projects building during our testnet and initial mainnet launches — if interested, please tell us more about your project by filling out the application below.

APPLY TO BUILD

Step into the future of Bitcoin with Arch: Start your journey by joining our vibrant developer community. Fill out the form to unlock a world of innovation on Bitcoin's Layer 1.
Together, we're building tomorrow.

1   #!/usr/bin/env bash
2   
3   export INDENT_LEVEL=2
4   
5   indent() {
6   local indent=${1:-"$INDENT_LEVEL"}
7     sed "s/^/$(printf ' %.0s' $(seq 1 "$indent"))/"
8   }
9   
10   group() {
11    # shellcheck disable=SC2016 # don't want these expressions expanded
12    local name="${1:?'buildkite `group` generator requires a `name`'}"
13    if [[ $# -lt 2 ]]; then
14      echo "no steps provided for buildkite group \`$name\`, omitting from pipeline" 1>&2
15       return
16     fi
17     cat <<EOF | indent
18   - group: "$name"
19     steps:
20   EOF
21     shift
22   
23     INDENT_LEVEL=$((INDENT_LEVEL + 4))
24     for params in "$@"; do
25       step "$params"
26     done
27     INDENT_LEVEL=$((INDENT_LEVEL - 4))
28    }
29   
30   step() {

1   #!/usr/bin/env bash
2   
3   export INDENT_LEVEL=2
4   
5   indent() {
6   local indent=${1:-"$INDENT_LEVEL"}
7     sed "s/^/$(printf ' %.0s' $(seq 1 "$indent"))/"
8   }
9   
10   group() {
11    # shellcheck disable=SC2016 # don't want these expressions expanded
12    local name="${1:?'buildkite `group` generator requires a `name`'}"
13    if [[ $# -lt 2 ]]; then
14      echo "no steps provided for buildkite group \`$name\`, omitting from pipeline" 1>&2
15       return
16     fi
17     cat <<EOF | indent
18   - group: "$name"
19     steps:
20   EOF
21     shift
22   
23     INDENT_LEVEL=$((INDENT_LEVEL + 4))
24     for params in "$@"; do
25       step "$params"
26     done
27     INDENT_LEVEL=$((INDENT_LEVEL - 4))
28    }
29   
30   step() {

TEST NET ACCESS

Be among the pioneers to experience Bitcoin's first programmable smart contracts. Join our incentivized test net and shape the future of blockchain innovation. Sign up now to embark on this groundbreaking journey with Arch.

1   #!/usr/bin/env bash
2   
3   export INDENT_LEVEL=2
4   
5   indent() {
6   local indent=${1:-"$INDENT_LEVEL"}
7     sed "s/^/$(printf ' %.0s' $(seq 1 "$indent"))/"
8   }
9   
10   group() {
11    # shellcheck disable=SC2016 # don't want these expressions expanded
12    local name="${1:?'buildkite `group` generator requires a `name`'}"
13    if [[ $# -lt 2 ]]; then
14      echo "no steps provided for buildkite group \`$name\`, omitting from pipeline" 1>&2
15       return
16     fi
17     cat <<EOF | indent
18   - group: "$name"
19     steps:
20   EOF
21     shift
22   
23     INDENT_LEVEL=$((INDENT_LEVEL + 4))
24     for params in "$@"; do
25       step "$params"
26     done
27     INDENT_LEVEL=$((INDENT_LEVEL - 4))
28    }
29   
30   step() {

1   #!/usr/bin/env bash
2   
3   export INDENT_LEVEL=2
4   
5   indent() {
6   local indent=${1:-"$INDENT_LEVEL"}
7     sed "s/^/$(printf ' %.0s' $(seq 1 "$indent"))/"
8   }
9   
10   group() {
11    # shellcheck disable=SC2016 # don't want these expressions expanded
12    local name="${1:?'buildkite `group` generator requires a `name`'}"
13    if [[ $# -lt 2 ]]; then
14      echo "no steps provided for buildkite group \`$name\`, omitting from pipeline" 1>&2
15       return
16     fi
17     cat <<EOF | indent
18   - group: "$name"
19     steps:
20   EOF
21     shift
22   
23     INDENT_LEVEL=$((INDENT_LEVEL + 4))
24     for params in "$@"; do
25       step "$params"
26     done
27     INDENT_LEVEL=$((INDENT_LEVEL - 4))
28    }
29   
30   step() {

bell icon

Stay up to date

This is some text inside of a div block.
email-icon
some
has successfully subscribed!
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.
telegram icon
Get Telegram Alerts
$1.3T+
LIQUIDITY ON BITCOIN
XXX+
TOTAL SMART CONTRACT VALUE LOCKED
XXX+
TOTAL SMART CONTRACTS DEPLOYED & CONFIRMED
20+
SUPPORTED
PROJECTS ON BTC