
Product
PHP and Composer Support Is Now in Beta
Socket’s PHP and Composer support is now in Beta for all customers, with PHP reachability analysis generally available.
@ramp-kit/server
Advanced tools
Zero-dependency production backend for @ramp-kit/core: server-side API-key proxy with strict endpoint allowlist, plus Etherfuse/Manteca webhook signature verification (HMAC-SHA256, RFC 8785 canonicalization)
Zero-dependency production backend for @ramp-kit/core. Two jobs:
Plain Node (node:http, node:crypto) — no framework, no dependencies.
Node ≥ 20.
npm install @ramp-kit/server
import { createRampServer } from "@ramp-kit/server";
createRampServer({
proxy: {
apiKey: process.env.ETHERFUSE_API_KEY!,
environment: "production", // sandbox | production
// pathPrefix: "/etherfuse", // default
// allowSimulation: true, // sandbox-only; hard-blocked in production
},
webhooks: {
etherfuseSecret: process.env.ETHERFUSE_WEBHOOK_SECRET!,
onEvent: (type, entity) => {
// order_updated | swap_updated | customer_updated | kyc_updated | …
queue.push({ type, entity });
},
},
}).listen(8787);
The frontend then targets the proxy instead of the provider:
new EtherfuseProvider({ apiKey: "", baseUrl: "https://api.myapp.com/etherfuse" });
Or mount the handlers in an existing Node server: createRampProxy(config)
and createEtherfuseWebhookHandler(config) are plain
(req, res) => Promise<boolean> handlers.
Only what a ramp frontend legitimately needs is forwarded:
| Allowed | Blocked (403) |
|---|---|
GET /ramp/me, /ramp/assets, /ramp/bank-accounts, /ramp/order/:id | Organization management |
POST /ramp/quote, /ramp/order, /ramp/wallet | Partner statements, fees |
POST /ramp/order/:id/cancel, /ramp/order/:id/regenerate_tx | Webhook management |
POST /ramp/order/fiat_received (sandbox + opt-in only) | Everything else |
X-Signature: sha256={hex}: HMAC-SHA256 over the
RFC 8785-canonicalized
JSON body, keyed with the base64 secret returned once by
POST /ramp/webhook. Constant-time comparison; the handler acks 2xx
immediately (Etherfuse retries only 3× with 5s intervals) and dispatches
the event afterwards.verifyMantecaSignature(rawBody, header, secret) for their
shared-secret HMAC (header name confirmed during Manteca onboarding).canonicalize() (RFC 8785 subset) is exported for reuse.
Deliveries can arrive out of order. Key your processing on resource id +
status, and drive logic from the payload's status field — not arrival
order.
Full documentation and demo apps live in the latam-ramp-kit repository. AI tooling (MCP server + agent skill) is available — see @ramp-kit/mcp.
MIT © Armando Cruz
FAQs
Zero-dependency production backend for @ramp-kit/core: server-side API-key proxy with strict endpoint allowlist, plus Etherfuse/Manteca webhook signature verification (HMAC-SHA256, RFC 8785 canonicalization)
The npm package @ramp-kit/server receives a total of 10 weekly downloads. As such, @ramp-kit/server popularity was classified as not popular.
We found that @ramp-kit/server demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Product
Socket’s PHP and Composer support is now in Beta for all customers, with PHP reachability analysis generally available.

Product
Socket is bringing experimental protection to Firefox, scanning 97,000+ extensions in Mozilla's official directory for malware and risky updates.

Research
/Security News
Three compromised Rust crates pulled in a malicious dependency that downloaded and executed cross-platform malware during Cargo builds.