Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Hashgraph Laravel Package

trustenterprises/hashgraph

PHP/Laravel package for interacting with Hedera Hashgraph, wrapping account, token, and transaction operations in a fluent API so you can query and submit data to the Hedera network from your application.

View on GitHub
Deep Wiki
Context7

Technical Evaluation

Architecture fit

The package remains an idiomatic Laravel integration layer: a service provider with auto-discovery, a facade, a publishable config file, and an HTTP client that talks to Trust Enterprises' hosted Hedera REST API. For a team already standardized on Laravel, this is still the lowest-friction way to get something on Hedera without learning the native SDK, key serialization, or mirror-node query patterns.

The critical architectural fact is unchanged: this is not a direct Hedera integration. It is a client for a third-party, centrally operated REST abstraction that sits between your application and Hedera. That means:

  • Credential and signing custody live with the vendor, not your application. Whoever holds the API key can likely move tokens or submit messages on your behalf.
  • Transaction semantics (finality, idempotency, retry safety, error taxonomy) are defined by the vendor's API contract, not by Hedera's protobuf/SDK contract.
  • The package's "Hedera support" is bounded by what Trust Enterprises has exposed. Anything beyond that surface requires dropping to the raw HTTP client or abandoning the package.

What changed in 3.0.1-alpha. The release adds an Inscription implementation (PR #17) — the ability to write arbitrary data/files to Hedera Consensus Service topics. This is a genuine capability expansion, not housekeeping, and it cuts both ways:

  • In our favour: it covers the single most defensible first use case for this kind of integration — audit-log anchoring, document timestamping, provenance hashes — without us writing our own chunking/serialization logic.
  • Against us: it widens the blast radius from "we can submit a message" to "we can permanently publish arbitrary bytes to a public ledger." Inscriptions are immutable and publicly readable by design. That turns a config-hygiene problem into a data-governance and compliance problem (see failure modes).

It is also a semver-major bump from 2.3.0, shipped as alpha. Treat the API surface as unstable and the upgrade path as unproven until a 3.x stable lands.

Integration feasibility

Mechanically still straightforward. composer require trustenterprises/hashgraph, publish config, set the API endpoint and API key in .env, inject the facade or the underlying client. A competent Laravel developer can have a testnet call working in under a day. The unknowns remain contractual rather than technical: whether a sandbox/testnet endpoint exists, whether the vendor's docs are current, and whether API key provisioning is self-serve.

Two new feasibility caveats specific to 3.0.1-alpha:

  1. Alpha means no upgrade guarantee. The release notes explicitly say "use at your own risk" and point at the PHP tests as the documentation. Budget for reading test files to learn the inscription API, and expect breaking changes before 3.0.0 stable.
  2. Inscription ergonomics are unverified. Payload size limits, chunking behaviour, cost per inscription (HBAR fees scale with data volume and topic messages), and whether the vendor API or the package handles the chunking are all undocumented in the notes. These need to be measured on testnet, not assumed.

Technical risk

Still high, and concentrated in three areas — with the third now materially improved and the first two unchanged:

  1. Vendor dependency. The package is a thin wrapper; the real dependency is a commercial third-party service with no SLA visible in the repository, no published deprecation policy, and still effectively zero dependents. Vendor discontinuation or a pricing/terms change breaks the integration regardless of code quality. The 3.x major bump does not change this.
  2. Custody and blast radius. A leaked API key from a Laravel .env (a common failure) potentially authorizes token movement on a public ledger. This is materially different from leaking a typical SaaS key and should be treated as a financial-controls problem, not a config-hygiene problem. Inscriptions raise the stakes: a leaked key could also be used to publish unwanted data under your account's identity, at your cost.
  3. Project maturity. Adoption remains near-zero (single-digit stars, no dependents, single maintainer). The positive signal is that the project is not abandoned — there is new development after a long gap. The negative signal is that the new development arrived as an alpha major version, with no security disclosure process, no published test coverage claims beyond "look at the PHP tests," and Laravel major-version / PHP-version compatibility for the 3.x line unverified.

New risk introduced by inscriptions: permanent public data. Anything written to HCS is on-ledger forever and readable by anyone. There is no delete. If a developer ever passes a customer record, a PII field, or an unredacted document to the inscription API, that is unrecoverable and likely a regulatory incident (GDPR/CCPA erasure obligations cannot be satisfied). This must be controlled by code review and by an allowlist of what may be inscribed, not by documentation alone.

Key questions to answer before commitment

  • What is the vendor's SLA, rate limit, and deprecation policy in writing?
  • Does the API support testnet, and can we get a key without a sales conversation?
  • Who holds the private keys — us or the vendor — and can we rotate or revoke independently?
  • Is there an official migration path to hedera-hashgraph/sdk-php or direct mirror-node REST, and what would that cost?
  • Which Laravel and PHP versions are actually supported and tested today — and specifically, does 3.0.1-alpha support our Laravel version, or must we stay on 2.3.0?
  • What is the error model for partial failures and duplicate submissions?
  • New: What are the inscription size limits, chunking behaviour, and per-inscription cost? Who pays — us, via the vendor's account, or our own Hedera account?
  • New: When is 3.x expected to reach stable, and will the inscription API change between alpha and stable?
  • New: Is there a documented retention/immutability statement we can hand to legal and compliance?

Integration Approach

Stack fit

Good fit for a Laravel monolith or a Laravel service that already uses the HTTP client, queues, and config caching. It assumes a relatively modern PHP 8.x baseline and PSR-4 autoloading. It is a poor fit for multi-tenant SaaS where each tenant needs its own on-ledger identity, or for anything requiring local signing.

The inscription feature strengthens the fit for the "write-once proof" pattern (audit anchoring, document hashing, provenance) and does nothing for the multi-tenant or local-signing gaps. If anything, inscriptions push you further toward the vendor's model, since chunking and topic management are handled for you.

Migration path

Design for exit from day one. Define your own narrow interface in application code — something like LedgerWriter::submitMessage(), LedgerWriter::transferToken(), LedgerWriter::inscribe(). Bind the package's client as one implementation. This costs a few hours and converts an unhedged vendor bet into a swappable adapter. Alternative implementations to keep in scope: the official Hedera PHP SDK (local signing, more control, more code), direct mirror-node REST for read/verification paths, or the vendor's raw HTTP API without the package if the wrapper goes stale.

Version strategy — this has changed and needs a decision. You now have two live lines:

  • 2.3.0 (stable, Jan 2024) — no inscriptions, but no alpha caveats and a known surface.
  • 3.0.1-alpha (new) — inscriptions, new major, explicitly unstable.

Default recommendation: do not run alpha in production paths. Either (a) pin 2.3.0 and treat inscriptions as out of scope until 3.x is stable, or (b) spike 3.0.1-alpha in a scratch app to validate the inscription API and cost model, with a written assumption that it will churn. Do not mix lines across environments. In both cases pin explicitly and commit the lockfile.

Compatibility work

Validate in a scratch Laravel app before touching the real codebase: confirm the package installs against your Laravel and PHP versions, that config publishing works, and that a testnet round-trip succeeds. For 3.0.1-alpha specifically, also confirm the major bump did not change the config file shape or facade method names you already depend on. Check whether it depends on Guzzle directly or Laravel's HTTP client, since that affects mocking and retry middleware.

Sequencing

  1. Vendor diligence (SLA, keys, testnet access, inscription pricing) — do this before writing code.
  2. Sandbox spike on the stable line: one consensus-message submission and one read-back against testnet.
  3. New: parallel spike on 3.0.1-alpha for inscriptions only — measure payload limits, chunking, cost per MB, and read-back via mirror node. Read the PHP tests as the spec.
  4. Build the adapter interface and contract tests; mock the vendor in CI. Design the interface so inscribe() can be added or dropped without touching call sites.
  5. Ship a non-financial first use case — audit-log anchoring, document timestamping, provenance hashes. This exercises the integration without exposing funds. Enforce a payload allowlist (hashes and public identifiers only) in code, not policy.
  6. Only after operational confidence, extend to token or NFT movement, with queueing, idempotency keys, and reconciliation.
  7. Re-evaluate upgrading from alpha to stable 3.x when released; treat that as a separate, scheduled piece of work.

Operational Impact

Maintenance

Assume you will own this code. The maintainer is active again — the January 2024 gap is closed — but the project is single-maintainer, near-zero-adoption, and now shipping alpha majors. Plan to vendor or fork the package into your repository within the first year if you depend on it in production, or accept that Laravel upgrades may strand it. Budget a small recurring maintenance line item. Note that an alpha-track dependency requires more maintenance attention than a stale stable one, not less: you must actively watch for 3.x breaking changes, which is a deliberate ongoing cost.

Support

Support is community-only via GitHub issues, plus whatever commercial support the vendor offers separately. There is no security policy in the repository. For a financial-adjacent dependency, that is a gap you must close internally with your own review and monitoring. The release notes' "have fun and look at the PHP tests for examples" is not a support commitment — calibrate expectations accordingly.

Scaling

Every operation is an HTTP round-trip to a third party, followed by Hedera consensus latency (seconds, not milliseconds). This is unsuitable for synchronous request paths. Put writes behind queues, use webhooks or polling for confirmation, and design read paths against the Hedera mirror node directly so you are not paying vendor latency for queries. Vendor rate limits are unknown and should be treated as a hard constraint until confirmed.

Inscriptions scale differently from message writes: payload size drives both chunking behaviour and HBAR cost, so throughput is bounded by spend as much as by rate limits. A single large inscription can be orders of magnitude more expensive than a 32-byte hash. Model cost per inscription before enabling the feature broadly, and cap payload size at the application layer.

Failure modes

The ones that will actually page someone: vendor API outage or degradation; key compromise or accidental .env exposure; duplicate submissions after retries without idempotency keys; transactions submitted but unconfirmed with no reconciliation job; silent upstream API changes; and breakage on a Laravel or PHP upgrade. Each needs an explicit mitigation — idempotency keys, a reconciliation sweep against mirror-node state, secret scanning, and a pinned lockfile.

Additions from the 3.0.1-alpha release:

  • Irreversible data disclosure via inscription. A code path that inscribes PII, secrets, or customer documents cannot be undone. Mitigate with a strict serialization allowlist, a redaction layer in front of inscribe(), review of every new inscription call site, and a pre-commit/integration check that rejects non-hash payloads.
  • Cost spike from large payloads. A single oversized or looping inscription can burn budget. Mitigate with a hard payload-size cap, a per-period spend ceiling, and alerting on inscription volume.
  • Alpha churn on upgrade. Pulling 3.0.x point releases into a production branch can break behaviour without warning. Mitigate by pinning to an exact alpha version, upgrading deliberately in a branch, and running the inscription contract tests as a gate.
  • Partial inscription / chunking failures. A multi-chunk inscription that fails midway may leave orphaned topic messages with no complete record. Confirm the vendor's atomicity model on testnet and build a verification step that reads back and validates the assembled payload.

Ramp-up

For a Laravel developer, the package itself is a half-day. The real ramp-up is Hedera domain literacy — accounts, keys, tokens, consensus topics, HBAR — plus the vendor's API semantics: roughly one to two weeks to productive, plus a security review that should not be skipped given the custody model. Add the inscription surface on top of that, with the caveat that it currently has no documentation beyond the PHP tests — budget a few days of reading source and probing testnet, and expect to discover undocumented behaviour yourself.

The 0.21 overall score and near-zero adoption mean the team is still effectively the first real user. The 3.0.1-alpha release confirms the project is alive but does not change the staffing conclusion: plan for discovery work, not just integration work, and keep the first production use case non-financial and payload-restricted.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
abbasudo/artisan-route
mirvan/ippanel
ignibyte/aic-framework
glavweb/data-schema-bundle
glavweb/datagrid-bundle
tacticmedia/scim-server
uni-method/frame
neika-ai/sdk
adachsoft/php-code-style
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
adachsoft/api-version-bundle
cgv/localized-resource
noith/settings
kda/laravel-package