Skip to content

Commit 9dc8310

Browse files
committed
better
1 parent 97e8967 commit 9dc8310

6 files changed

Lines changed: 37 additions & 9 deletions

File tree

‎docs/dev/v4/learn/glossary/relayr.md‎

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,13 @@
22

33
#### What everyone needs to know
44

5-
* Juicebox uses a tool called Relayr to manage omnichain operations.
6-
* Relayr works by allowing a single transaction on one chain to propegate to several transactions across chains.
5+
* Relayr is a cross-chain transaction service that enables gasless, multi-chain transaction bundling.
6+
* With Relayr, you sign transactions for each target chain, then pay gas on just one chain of your choice. Relayr's relayers execute the transactions on all other chains for you.
7+
* This is how omnichain project deployments and cross-chain ruleset updates work in Juicebox—one payment triggers deployments across Ethereum, Optimism, Arbitrum, and Base simultaneously.
78

89
#### What you'll want to know if you're building
910

10-
* Talk to [0xBa5ed](https://x.com/0xba5ed);
11+
* Relayr uses [ERC-2771](https://eips.ethereum.org/EIPS/eip-2771) meta-transactions. Users sign transactions without paying gas, then a trusted forwarder executes them.
12+
* The flow is: **get quote** (sign each chain's tx) → **select payment chain** → **send payment** → **poll for completion**.
13+
* Transaction bundles are identified by a `bundle_uuid`. Individual transactions progress through statuses: `Pending` → `Included` → `Completed` → `Success` (or `Failed`).
14+
* Built by [0xBa5ed](https://x.com/0xba5ed). API endpoint: `https://api.relayr.ba5ed.com`

‎docs/dev/v5/build/life-of-a-project.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ keywords: [deploy, launch, project, JBController, terminal, rulesets, payments,
99

1010
To launch a project, call [`JBController.launchProjectFor(...)`](/docs/dev/v5/api/core/JBController.md#launchprojectfor).
1111

12-
New projects and integrations should use `JBController5_1` address, and `JBTerminal5_1` address within the `terminalConfigurations`. See [`Addresses`](/docs/dev/v5/addresses.md).
12+
New projects and integrations should use `JBController5_1` address, and `JBMultiTerminal5_1` address within the `terminalConfigurations`. See [`Addresses`](/docs/dev/v5/addresses.md).
1313

1414
```
1515
function launchProjectFor(

‎docs/dev/v5/build/life-of-a-revnet.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ A revnet is a Juicebox project owned by a special contract that enforces a certa
88

99
To launch a revnet, call [`REVDeployer.deployFor(...)`](/docs/dev/v5/api/revnet/REVDeployer.md#deployfor).
1010

11-
Revnets should use `JBTerminal` address within the `terminalConfigurations`, **NOT** `JBTerminal5_1`. See [`Addresses`](/docs/dev/v5/addresses.md).
11+
Revnets should use `JBMultiTerminal` address within the `terminalConfigurations`, **NOT** `JBMultiTerminal5_1`. See [`Addresses`](/docs/dev/v5/addresses.md).
1212

1313
```
1414
function deployFor(

‎docs/dev/v5/learn/glossary/README.md‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,4 +31,5 @@ description: >-
3131
| **Suckers** | <p>TLDR: A sucker is the component projects use to connect multiple instances of Juiceboxes across chains.</p><p>A sucker is kind of like a bridge, with some special properties that make omnichain Juiceboxes work well together. </p>[Learn more](/docs/dev/v5/learn/glossary/suckers.md) |
3232
| **Hold fees** | <p>TLDR: The hold fees option allows a project to raise funds, attempt to use the funds, and return the funds if the attempt fails.</p><p>The choice of holding fees is set on a per-ruleset basis. All held fees can be processed after 28 days without paying back withdrawn funds. </p>[Learn more](/docs/dev/v5/learn/glossary/hold-fees.md) |
3333
| **Loans** | <p>TLDR: Revnet loans allow token holders to borrow against their tokens as collateral while maintaining their ownership stake in the revnet.</p><p>The borrowable amount is calculated using the same formula as cash outs, but with the loan collateral added to the total token supply and the amount loaned out added to the surplus. Loans include multiple fees: a 2.5% $NANA fee from the juicebox protocol, a 1% REV fee from the revnet protocol, and a variable source fee from the revnet being borrowed from that can be prepaid. The more you prepay in fees upfront, the longer you can hold the loan without additional charges.</p>[Learn more](/docs/dev/v5/learn/glossary/loans.md) |
34-
| **Relayr** | <p>TLDR: A tool for web clients to use when coordinating a project's ops across blockchains while simplifying wallet signatures and transactions.</p><p> Relayr can be seen on [juicebox.money](https://juicebox.money) and [app.revnet.eth.sucks](https://app.revnet.eth.sucks) when getting a deploy quote and paying for it. </p>[Learn more](/docs/dev/v5/learn/glossary/relayr.md) |
34+
| **Relayr** | <p>TLDR: A tool for web clients to use when coordinating a project's ops across blockchains while simplifying wallet signatures and transactions.</p><p> Relayr can be seen on [juicebox.money](https://juicebox.money) and [app.revnet.eth.sucks](https://app.revnet.eth.sucks) when getting a deploy quote and paying for it. </p>[Learn more](/docs/dev/v5/learn/glossary/relayr.md) |
35+
| **Bendystraw** | <p>TLDR: A GraphQL API for querying Juicebox protocol data across all supported chains.</p><p>Bendystraw indexes on-chain events in real-time, providing access to projects, payments, token holders, NFTs, loans, and activity feeds. For omnichain projects, it aggregates data across all chains via suckerGroup queries.</p>[Learn more](/docs/dev/v5/learn/glossary/bendystraw.md) |
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# Bendystraw
2+
3+
#### What everyone needs to know
4+
5+
* Bendystraw is a GraphQL API for querying Juicebox protocol data across all supported chains.
6+
* It indexes on-chain events in real-time, providing access to projects, payments, token holders, NFTs, loans, and activity feeds.
7+
* For [omnichain](/docs/dev/v5/learn/glossary/omnichain.md) projects, Bendystraw aggregates data across all chains via `suckerGroup` queries—get total balance, token supply, and contributor counts in one request.
8+
9+
#### What you'll want to know if you're building
10+
11+
* **Endpoints**: Mainnet at `bendystraw.xyz`, testnet at `testnet.bendystraw.xyz`. Contact [@peripheralist](https://x.com/peripheralist) for an API key.
12+
* **Key entities**: `project` (config & stats), `participant` (token holders), `suckerGroup` (cross-chain aggregates), `activityEvent` (unified timeline), `nft`/`nftTier` (NFT data), `loan` (Revnet loans).
13+
* Always include `version: 5` in queries for V5 protocol data.
14+
* The SDK provides `useBendystrawQuery` for React integration with built-in caching and polling.
15+
* **Important**: API keys should not be exposed in client-side code. Use a server-side proxy for frontend applications.
16+
* See the [Bendystraw build guide](/docs/dev/v5/build/bendystraw.md) for complete query examples and SDK integration.
17+
* Interactive playgrounds: [mainnet](https://bendystraw.xyz/schema) | [testnet](https://testnet.bendystraw.xyz/schema)

‎docs/dev/v5/learn/glossary/relayr.md‎

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,15 @@
22

33
#### What everyone needs to know
44

5-
* Juicebox uses a tool called Relayr to manage omnichain operations.
6-
* Relayr works by allowing a single transaction on one chain to propegate to several transactions across chains.
5+
* Relayr is a cross-chain transaction service that enables gasless, multi-chain transaction bundling.
6+
* With Relayr, you sign transactions for each target chain, then pay gas on just one chain of your choice. Relayr's relayers execute the transactions on all other chains for you.
7+
* This is how [omnichain](/docs/dev/v5/learn/glossary/omnichain.md) project deployments and cross-chain ruleset updates work in Juicebox—one payment triggers deployments across Ethereum, Optimism, Arbitrum, and Base simultaneously.
78

89
#### What you'll want to know if you're building
910

10-
* Talk to [0xBa5ed](https://x.com/0xba5ed);
11+
* Relayr uses [ERC-2771](https://eips.ethereum.org/EIPS/eip-2771) meta-transactions. Users sign transactions without paying gas, then a trusted forwarder executes them.
12+
* The flow is: **get quote** (sign each chain's tx) → **select payment chain** → **send payment** → **poll for completion**.
13+
* The SDK provides three hooks: [`useGetRelayrTxQuote`](/docs/dev/v5/build/relayr.md#usegetrelayrtxquote) for signing and getting gas estimates, [`useSendRelayrTx`](/docs/dev/v5/build/relayr.md#usesendrelayrtx) for submitting payment, and [`useGetRelayrTxBundle`](/docs/dev/v5/build/relayr.md#usegetrelayrtxbundle) for tracking execution status.
14+
* Transaction bundles are identified by a `bundle_uuid`. Individual transactions progress through statuses: `Pending` → `Included` → `Completed` → `Success` (or `Failed`).
15+
* See the [Relayr build guide](/docs/dev/v5/build/relayr.md) for complete integration examples.
16+
* Built by [0xBa5ed](https://x.com/0xba5ed). API endpoint: `https://api.relayr.ba5ed.com`

0 commit comments

Comments
 (0)