Abstract
ERC-7752 defines an intent-based bridging protocol optimised for 0G network data availability proofs. A submitter locks a gross payment on the source chain; 1 % is immediately collected as a protocol fee; the remaining 99 % is escrowed until a permissioned fulfiller submits a cross-chain proof. If the intent expires or is cancelled, the net amount is refunded.
Motivation
Cross-chain bridging is plagued by fragmented interfaces, inconsistent fee models, and lack of TTL semantics. ERC-7752 proposes a minimal, composable standard that:
- Unifies intent expression – a single
submitIntentcovers token transfers, data payloads, and NFT bridges. - Integrates with 0G DA – the
proofHashfield anchors the 0G data-availability proof receipt on-chain. - Enforces fee uniformity – a hardcoded 1 % fee removes negotiation overhead and front-running surface.
Specification
Constants
| Name | Value | Description |
|---|---|---|
BRIDGE_FEE_BPS | 100 | Protocol fee in basis points (1 %) |
Note: The address that receives the protocol fee (
feeRecipient) is implementation-defined. Implementations MUST makefeeRecipientconfigurable and MUST NOT hardcode a chain-specific address.
Enums
enum IntentStatus { Pending, Fulfilled, Cancelled, Failed, Expired }
enum IntentType { TokenTransfer, DataPayload, NFTBridge }Structs
struct BridgeIntent {
address submitter;
IntentType intentType;
bytes payload;
uint64 sourceChainId;
uint64 destChainId;
address token;
uint256 grossAmount;
uint256 feeAmount;
uint256 netAmount;
bytes32 proofHash;
IntentStatus status;
uint64 createdAt;
uint64 fulfilledAt;
uint64 expiresAt;
}Methods
submitIntent
function submitIntent(
IntentType intentType,
bytes calldata payload,
uint64 destChainId,
uint64 ttlSeconds,
address token,
uint256 gross
) external payable returns (bytes32 intentId);MUST compute feeAmount = (gross * BRIDGE_FEE_BPS) / 10_000 and forward to the implementation-defined fee recipient atomically.
MUST set expiresAt = block.timestamp + ttlSeconds.
MUST emit IntentSubmitted(intentId, submitter, destChainId, feeAmount).
fulfillIntent
function fulfillIntent(bytes32 intentId, bytes32 proofHash) external;MUST only be callable by a registered fulfiller.
MUST revert if block.timestamp > intent.expiresAt.
MUST release netAmount to fulfiller.
MUST emit IntentFulfilled(intentId, fulfiller, proofHash).
cancelIntent
function cancelIntent(bytes32 intentId) external;MUST only be callable by intent.submitter.
MUST refund netAmount to submitter (fee is non-refundable).
MUST emit IntentCancelled(intentId, submitter).
setFulfiller
function setFulfiller(address fulfiller, bool allowed) external;MUST only be callable by contract owner. Manages trusted fulfiller set.
Events
event IntentSubmitted(bytes32 indexed intentId, address indexed submitter, uint64 destChainId, uint256 feeAmount);
event IntentFulfilled(bytes32 indexed intentId, address indexed fulfiller, bytes32 proofHash);
event IntentCancelled(bytes32 indexed intentId, address indexed submitter);
event IntentFailed (bytes32 indexed intentId, bytes reason);ERC-165
Compliant contracts MUST implement IERC7752 and MUST return true from supportsInterface for type(IERC7752).interfaceId.
Rationale
- TTL-bounded intents – prevents capital lock indefinitely; enables solver competition.
- Permissioned fulfillers – a whitelist prevents griefing while the permissionless fulfiller model matures.
- 0G DA anchoring –
proofHashstores the DA proof CID, enabling on-chain verification of data availability.
Backwards Compatibility
No existing bridge standard (LayerZero, Hyperlane, Axelar) is modified. ERC-7752 is composable as a transport layer above existing messaging protocols.
Reference Implementation
See contracts/ERC7752ZeroGBridge.sol in the Opacus-Standart repository.
Security Considerations
- Fulfiller trust – The whitelist is a centralisation risk; future versions should integrate decentralised solver auctions.
- Reorg safety – Fulfillers MUST wait for sufficient source-chain confirmations before calling
fulfillIntent. - Fee finality – Fees are forwarded immediately; a fee-on-settlement model should be considered for high-value transfers.
Copyright
Copyright and related rights waived via CC0.
